溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django Xadmin多對多字段過濾實例

發布時間:2020-10-16 00:11:41 來源:腳本之家 閱讀:448 作者:宅神kin 欄目:開發技術

在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多對多字段過濾實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女