H5W3
当前位置:H5W3 > python > 正文

【Python】django Xadmin 中外键关联UserProfile(AbstractUser) model 在后台不显示下拉列表的问题

其中一个app的user字段为UserProfile(AbstractUser)的外键,在admin中注册后不显示下拉列表,而是一个搜索框。我想要的结果是下拉列表

经过测试,普通模型类注册后关联是可以展示的,但在一对多关联继承自AbstractUser的模型就不行。

相关代码(setting.py中已添加各app,并覆盖了admin原有user模型 — AUTH_USER_MODEL = “user.UserProfile”)

user/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
from datetime import datetime
class UserProfile(AbstractUser):
updated_at = models.DateTimeField(default=datetime.now, verbose_name=u"修改时间", blank=True)
class Meta:
verbose_name = "用户信息"
verbose_name_plural = verbose_name
def __str__(self):
return self.username
application/models.py(相关代码)
class Application(models.Model):
user = models.ForeignKey(UserProfile, verbose_name='用户名')
def __str__(self):
return self.app_name
application/admin.py
import xadmin
from application.models import AdsIndex, Application, Test
class ApplicationAdmin(object):
list_display = ['app_id', 'app_name', 'introduce', 'url', 'image', 'status',
'user', 'switch', 'created_at', 'updated_at']
xadmin.site.register(Application, ApplicationAdmin)

【Python】django Xadmin 中外键关联UserProfile(AbstractUser) model 在后台不显示下拉列表的问题

如图:我想要的结果是用户名也和上面或下面的一样显示下拉列表,展示关联的用户信息,而不是input搜索框。(明明右面显示着倒三角,点击却仅仅闪烁一下,并没有任何反应。)

回答

已解决 xadmin/plugs/auth.py 找到UserAdmin类,然后去掉relfield_style = ‘fk-ajax’ 去掉 search_filed
然后再外键关联的adminx.py 对应的类上 加入relfield_style = ‘fk-ajax’

已经解决了。。。

本文地址:H5W3 » 【Python】django Xadmin 中外键关联UserProfile(AbstractUser) model 在后台不显示下拉列表的问题

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址