关于admin模型注册UserAdmin问题

在一个app的models.py创建了一个继承AbstractUser的User类

class User(AbstractUser):
    phone = models.BigIntegerField(verbose_name='手机号', null=True, blank=True)
    wechat = models.CharField(verbose_name='微信号', max_length=32, null=True, blank=True)
    detail = models.OneToOneField(to='UserDetail', verbose_name='个人信息', on_delete=models.CASCADE, null=True, blank=True)

在admin.py创建继承UserAdmin的UserInfoAdmin类

@admin.register(models.User)
class UserInfoAdmin(UserAdmin, ModelAdmin):
    list_display = ('id', 'username', 'detail', 'room', 'phone', 'wechat', 'createTime')
    list_per_page = 50
    ordering = ('id',)
    list_display_links = ('id', 'username', 'room', 'phone', 'createTime', 'detail')
    search_fields = ('id', 'username', 'room', 'phone', 'createTime', 'detail')

问题在于进入/admin后台管理界面的时候不能对User类中对原AbstractUser扩展的字段进行操作,如:不能在页面中修改phone,wechat等字段,外键detail也不能直接链接到detail表上。 请问这是本身的局限性还是有什么方法可以扩展UserAdmin的功能。

评论 2