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读写txt文本文件的操作方法全解析
Jun 26 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
python调用OpenCV实现人脸识别功能
May 25 Python
numpy中loadtxt 的用法详解
Aug 03 Python
django框架cookie和session用法实例详解
Dec 10 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
Python 没有main函数的原因
Jul 10 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 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 日,周,月点击排行统计
2012/01/11 PHP
php中switch语句用法详解
2015/08/17 PHP
轻松实现php文件上传功能
2017/02/17 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
Python线程创建和终止实例代码
2018/01/20 Python
详解python while 函数及while和for的区别
2018/09/07 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
银行出纳岗位职责
2013/11/25 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
2014年电工工作总结
2014/11/20 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技