Django Xadmin多对多字段过滤实例
作者:宅神kin 发布时间:2023-02-25 21:03:59
标签:Django,Xadmin,多对多,字段,过滤
在xadmin中是不能像原生admin那样使用formfield_for_manytomany方法来过滤多对多字段
进入xadmin源码,找到了formfield_for_dbfield这个方法,测试是有用的,可以过滤第一个选项框的值
补充知识:给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中扩展一个下拉框和一个多选框,效果如下图:
来源:https://blog.csdn.net/weixin_42042680/article/details/85158293
0
投稿
猜你喜欢
- 报表服务器数据库可以为一个或多个报表服务器实例提供内部存储。因为报表服务器数据库架构可能会因为推出新的 Reporting Services
- 简述公司使用gitlab 来托管代码,日常代码merge request 以及其他管理是交给测试,鉴于操作需经常打开网页,重复且繁琐,所以交
- 设置cookie每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cooki
- 1. 原理简介原理很简单,就是获取视频资源的源地址,然后爬取视频的二进制内容,再写入到本地即可。2. 网页分析打开该网页,然后F12进入开发
- 摘要Beautiful Soup 是一个可以从 HTML 或 XML 格式文件中提取数据的 Python 库,他可以将HTML 或 XML
- 这篇文章主要介绍了Python tkinter常用操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 前言:本篇主要讲两方面,错误和异常以及模块。在编程时遇见错误信息在所难免,Python中会也有很多种错误信息,常见的两种就是语法错误和逻辑错
- 开源方:微软安装:pip install playwright;python -m playwright install特点:自动化脚本录制
- 在安装某个包的时候出现如下错误然后按照提示运行python -m pip install --upgrade pip并更新pip后再次运行p
- 一年一度的春运又来了,今年我自己写了个抢票脚本。使用Python+Splinter自动刷新抢票,可以成功抢到。(依赖自己的网络环境太厉害,还
- 我们用pycharm写CSS的时候,是不是苦于没有提示,那么pycharm中如何显示CSS提示呢?下面小编给大家分享一下。首先点击左上角的f
- select for update 这个是行级锁 当 commit或者rollback时,锁释放 记得打开事务,比如jdbc里面 setAu
- 目前有三个解决办法,也是亲测有用的:第一个方法:因为之前有通过pycharm的project interpreter里的+号添加过一些库,但
- 具体方法:1使用panda read_excel 方法加载excel2使用concat将DataFrame列表进行拼接3然后使用pd.Exc
- 问题有二进制文件中保存了 20 亿个 2 Bytes 的数,需将其读出,每 20000 个数作图,拟合后输出结果。解决# -*- codin
- Stickyworld 的网页应用已经支持视频拨放一段时间,但都是通过YouTube的嵌入模式实现。我们开始提供新的版本支持视频操作,可以让
- DROP PRIMAY DEY用于取消主索引。注释:在MySQL较早的版本中,如果没有主索引,则DROP PRIMARY KEY会取消表中的
- 导语每次回家小编的身边都会聚集着一堆小朋友,这就是家住一个村的好处。一回家就接收到七大姑八大姨的亲切的问候,关系那是特别不错的,小朋友也不怕
- 复杂度可能高了点- - 也没太注意我想了好久 也找了好久 没看到什么能够用python解决n皇后问题而且不调用递归的 因为我不太能理解递归(
- <!--#include file="strcheck.asp"--> <% '笔者在写程序的