Django Xadmin多对多字段过滤实例


Posted in Python onApril 07, 2020

在xadmin中是不能像原生admin那样使用formfield_for_manytomany方法来过滤多对多字段

Django Xadmin多对多字段过滤实例

进入xadmin源码,找到了formfield_for_dbfield这个方法,测试是有用的,可以过滤第一个选项框的值

Django Xadmin多对多字段过滤实例

补充知识:给django admin后台管理user扩展下拉框及多选框的字段

1.首先在models.py中编写扩展User所用到的userProfile模型及下拉框和多选框选项值所需要的模型(因为我所做的下拉框和多选框的值都是从数据库里面取得),代码如下:

2.第二步编写admin.py对User字段进行扩展,代码如下:

# -*- coding: UTF-8 -*-
from django.contrib import admin
from django import forms
from TESTAPP.models import test,userProfile
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
 
# Register your models here.
class userProfileForm(forms.ModelForm):
  option = forms.ModelChoiceField(label=u'下拉框',queryset=test.objects.all())
  checkbox = forms.ModelMultipleChoiceField(label=u'多选框',queryset=test.objects.all(),widget=forms.CheckboxSelectMultiple())
  class Meta:
    model = userProfile
    fields = ['option','checkbox']
class profileInline(admin.StackedInline):
  model = userProfile
  form = userProfileForm
class testUserAdmin(UserAdmin):
  inlines = [profileInline,]
admin.site.unregister(User)
admin.site.register(User, testUserAdmin)

通过这两步就可以试下在django admi台管理User中扩展一个下拉框和一个多选框,效果如下图:

Django Xadmin多对多字段过滤实例

以上这篇Django Xadmin多对多字段过滤实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
Python ldap实现登录实例代码
Sep 30 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
Django 自定义分页器的实现代码
Nov 24 Python
Python实现直播推流效果
Nov 26 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
最小二乘法及其python实现详解
Feb 24 Python
Python selenium实现断言3种方法解析
Sep 08 Python
python利用xlsxwriter模块 操作 Excel
Oct 14 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 #Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 #Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 #Python
django 实现简单的插入视频
Apr 07 #Python
django实现后台显示媒体文件
Apr 07 #Python
Python搭建Keras CNN模型破解网站验证码的实现
Apr 07 #Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 #Python
You might like
php实现的漂亮分页方法
2014/04/17 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
js的with语句使用方法
2007/09/21 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
js实现登录与注册界面
2017/11/01 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
Python3解释器知识点总结
2019/02/19 Python
python实现合并两个排序的链表
2019/03/03 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Python Collatz序列实现过程解析
2019/10/12 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
python2 对excel表格操作完整示例
2020/02/23 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
护士演讲稿优秀范文
2014/04/30 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
党员自我评价范文2015
2015/03/03 职场文书