【问题标题】:Combining User and UserProfile in the admin在管理员中结合用户和用户配置文件
【发布时间】:2010-08-31 01:31:37
【问题描述】:

我一直在阅读 Django 的用户和配置文件分离,我决定使用一个名为 UserProfile 的模型,它位于帐户应用程序中作为我的配置文件。问题是,现在我有两个独立的管理员区域,一个用于修改用户,一个用于修改用户配置文件。是否可以在管理员中将这两个模型视为一个模型,因此如果您添加或修改用户,您会在同一视图中看到用户和配置文件的所有字段?不言而喻,添加删除用户应该添加或删除配置文件,并且不应该在没有用户的情况下添加或删除配置文件。

我已经了解了如何使这项工作发挥作用(例如,在添加用户时添加个人资料),但不是整体。

【问题讨论】:

    标签: django django-models django-admin


    【解决方案1】:

    你可以使用inline admin models来做到这一点

    在编写您的自定义 User admin 之前,您必须取消注册已注册的 User admin

    admin.site.unregister(User)
    

    定义内联UserProfile

    class UserProfileInline(admin.TabularInline):
        model = UserProfile
    

    并在User admin 中使用内联

    class UserAdmin(admin.ModelAdmin):
        inlines = [UserProfileInline]
    admin.site.register(User, UserAdmin)
    

    【讨论】:

    • 当我这样做时,我会在每个用户下面得到几个“配置文件”表单,我无法将数据保存到其中;导致“无法添加或更新子行:外键约束失败”。这是因为南方搞砸了,还是在过去的一年里事情发生了变化?在这里寻找一些方向,tnx。
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    相关资源
    最近更新 更多