Если Вы хотите хранить дополнительную информацию о пользователе (django.contrib.auth.models. Пользователь) в Django можно использовать изящный AUTH_PROFILE_MODULE для включения модели "профиля". Каждый пользователь затем получает профиль. Это все описано здесь:
Теперь, скажем, я создал приложение, названное учетными записями с моделью под названием UserProfile, и зарегистрировал его как модель профиля для моих пользователей. Как я встраиваю редактирование профиля в администраторском интерфейсе для редактирования пользователей (или наоборот)?
Оказывается, это довольно просто, если вы знаете, как это делать. Это мой myapp / accounts / admin.py:
from django.contrib import admin
from myapp.accounts.models import UserProfile
from django.contrib.auth.models import User
class UserProfileInline(admin.StackedInline):
model = UserProfile
max_num = 1
can_delete = False
class AccountsUserAdmin(admin.UserAdmin):
inlines = [UserProfileInline]
# unregister old user admin
admin.site.unregister(User)
# register new user admin that includes a UserProfile
admin.site.register(User, AccountsUserAdmin)
Класс admin.UserAdmin
ModelAdmin по умолчанию для пользователей не зарегистрирован, и вместо него зарегистрирован новый, указывающий встроенный UserProfile
. Просто подумал, что должен поделиться.