如何在用户管理选项卡的UserProfile中显示ManyToManyField(DjangoAdmin)

2024-10-01 00:24:33 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使^{cd2>}(具有^{cd3>}属性的^{cd1>}属性在^{{cd4>}中可见?

所以有一个通用的^{cd5>}模型,我使用它来登录/注册。在^{{cd2>}模型中使用^{cd7>}扩展了^{cd5>}模型。

^{cd2>}具有^{cd10>}属性:

^{cd11>}

这就是问题所在。

我看不到^{{cd4>}中的^{cd5>}选项卡中的^{cd12>}。 我可以在^{cd5>}选项卡中看到所有^{cd2>}属性,因为我这样做:

class UserProfileInline(admin.StackedInline):
    model = UserProfile
    can_delete = False
    verbose_name_plural = 'User_Profile'

class UserAdmin(BaseUserAdmin):
    inlines = (UserProfileInline, )

但是^{cd2>}的属性是^{cd12>}选项卡中看不到。我读到这可能是因为它是^{cd10>}但我找不到如何将它放在^{{cd5>}选项卡中。

我试图将其作为内联模型,但它会引发错误:

^{pr2}$

这是因为^{{cd12>}是^{{cd2>}的属性,而不是^{{cd5>}的属性,但我不知道如何解决这个问题。


Tags: 模型属性admin选项卡classcd1cd2cd5
1条回答
网友
1楼 · 发布于 2024-10-01 00:24:33

在您的例子中,如果您可以看到languages,但不能编辑User选项卡中的字段,则应使用readonly_fields

class UserProfileInline(admin.StackedInline):
    model = UserProfile
    can_delete = False
    verbose_name_plural = 'User_Profile'
    readonly_fields = ('languages',)

class UserAdmin(BaseUserAdmin):
    inlines = (UserProfileInline, )

相关问题 更多 >