在管理中合并用户和用户配置文件

发布于 2024-09-16 14:08:12 字数 285 浏览 5 评论 0原文

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

我已经看到了如何实现这项工作的一些零碎内容(例如,在添加用户时添加配置文件的东西),但不是整体。

I have been reading up on Django's separation of Users and Profiles, and I have decided to go with a model called UserProfile that is located in an Accounts app as my Profile. The problem is, now I have two separate areas of the admin, one for modifying the User, and one for modifying the User Profile. Is it possible to view the two models as one in the admin, so if you add or modify a user you see all of the fields for both User and Profile in the same view? It also kinda goes without saying that adding a deleting a user should add or delete a profile with it, and it shouldn't be possible to add or delete a profile without the user.

I've seen bits and pieces of how to make this work (for example, something that adds a profile when you add a user), but not as a whole.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枕梦 2024-09-23 14:08:12

您可以通过

之前 使用内联管理模型来完成此操作编写自定义 User 管理员时,您必须取消注册已注册的 User 管理员,

admin.site.unregister(User)

定义内联 UserProfile

class UserProfileInline(admin.TabularInline):
    model = UserProfile

并在 User< 中使用内联/代码> 管理员

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

You can do this by using inline admin models

before writing your custom User admin you have to unregister the already registered User admin

admin.site.unregister(User)

define the Inline UserProfile

class UserProfileInline(admin.TabularInline):
    model = UserProfile

and use the inline in the User admin

class UserAdmin(admin.ModelAdmin):
    inlines = [UserProfileInline]
admin.site.register(User, UserAdmin)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文