【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'

已经解决了。。。

以上是 【Python】django Xadmin 中外键关联UserProfile(AbstractUser) model 在后台不显示下拉列表的问题 的全部内容, 来源链接: utcz.com/a/80800.html

回到顶部