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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
python使用电子邮件模块smtplib的方法
Aug 28 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
Pandas 同元素多列去重的实例
Jul 03 Python
Python中fnmatch模块的使用详情
Nov 30 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
python中的&&及||的实现示例
Aug 07 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
Python爬虫之爬取淘女郎照片示例详解
Jul 28 Python
用Python进行websocket接口测试
Oct 16 Python
python 下载文件的几种方法汇总
Jan 06 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实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
Python requests模块cookie实例解析
2020/04/14 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
厂长助理岗位职责
2013/12/27 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
个人租房协议书
2014/04/09 职场文书
小组口号大全
2014/06/09 职场文书
活动总结书怎么写
2015/05/11 职场文书
初婚未育证明样本
2015/06/18 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL