【Python】django Xadmin 中外键关联UserProfile(AbstractUser) model 在后台不显示下拉列表的问题
其中一个app的user字段为UserProfile(AbstractUser)的外键,在admin中注册后不显示下拉列表,而是一个搜索框。我想要的结果是下拉列表
经过测试,普通模型类注册后关联是可以展示的,但在一对多关联继承自AbstractUser的模型就不行。
相关代码(setting.py中已添加各app,并覆盖了admin原有user模型 -- AUTH_USER_MODEL = "user.UserProfile")
user/models.pyfrom 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.pyimport 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)
如图:我想要的结果是用户名也和上面或下面的一样显示下拉列表,展示关联的用户信息,而不是input搜索框。(明明右面显示着倒三角,点击却仅仅闪烁一下,并没有任何反应。)
回答
已解决 xadmin/plugs/auth.py 找到UserAdmin类,然后去掉relfield_style = 'fk-ajax' 去掉 search_filed
然后再外键关联的adminx.py 对应的类上 加入relfield_style = 'fk-ajax'
已经解决了。。。
以上是 【Python】django Xadmin 中外键关联UserProfile(AbstractUser) model 在后台不显示下拉列表的问题 的全部内容, 来源链接: utcz.com/a/80800.html