我一直在阅读Django对用户和个人资料的分离,我决定使用名为UserProfile的模型,该模型位于Accounts应用程序中作为我的个人资料。问题是,现在我有两个独立的管理区域,一个用于修改用户,另一个用于修改用户配置文件。是否可以在管理员中将这两个模型视为一个模型,因此如果您添加或修改用户,您会在同一视图中看到用户和个人资料的所有字段?不言而喻,添加删除用户应该添加或删除配置文件,并且不应该在没有用户的情况下添加或删除配置文件。
我已经看到了如何使这项工作的一些部分(例如,在添加用户时添加配置文件的内容),但不是整体。
答案 0 :(得分:12)
您可以使用inline admin models
执行此操作在编写自定义User
管理员之前,您必须取消注册已注册的User
管理员
admin.site.unregister(User)
定义内联UserProfile
class UserProfileInline(admin.TabularInline):
model = UserProfile
并使用User
admin
class UserAdmin(admin.ModelAdmin):
inlines = [UserProfileInline]
admin.site.register(User, UserAdmin)