Объединение User и UserProfile в админке - PullRequest
6 голосов
/ 31 августа 2010

Я читал о разделении пользователей и профилей в Django, и я решил использовать модель UserProfile, которая находится в приложении учетных записей, в качестве моего профиля.Проблема в том, что теперь у меня есть две отдельные области администратора, одна для изменения пользователя и одна для изменения профиля пользователя.Можно ли просматривать две модели как одну в администраторе, поэтому, если вы добавляете или изменяете пользователя, вы видите все поля для пользователя и профиля в одном представлении?Также само собой разумеется, что добавление удаляющего пользователя должно добавить или удалить профиль с ним, и не должно быть возможности добавлять или удалять профиль без пользователя.фрагменты того, как заставить это работать (например, что-то, что добавляет профиль при добавлении пользователя), но не в целом.

1 Ответ

12 голосов
/ 31 августа 2010

Вы можете сделать это, используя встроенные модели администратора

перед написанием вашего пользовательского User администратора вы должны отменить регистрацию уже зарегистрированного User admin

admin.site.unregister(User)

определить Inline UserProfile

class UserProfileInline(admin.TabularInline):
    model = UserProfile

и используйте встроенное в User admin

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