В администраторе Django включите auth.User как встроенный

Я видел много вопросов по-другому, у которых есть что-то следующее:

class UserProfileInline(admin.StackedInline): model = UserProfile can_delete = False verbose_name_plural = 'profile' class NewUserAdmin(UserAdmin): inlines = (UserProfileInline, ) admin.site.unregister(User) admin.site.register(User, NewUserAdmin) 

То, что я хочу сделать, это наоборот, но я не вижу, чтобы это работало. Вот код, который у меня есть, который не работает.

 from django.contrib import admin from django.contrib.auth.admin import UserAdmin from django.contrib.auth.models import User from myapp.models import SpecialUserType class UserInline(admin.StackedInline): model = User can_delete = False class IncludeUserAdmin(admin.ModelAdmin): inlines = (UserInline,) admin.register(SpecialUserType, IncludeUserAdmin) 

Как я могу сделать эту работу так, чтобы User был SpecialUserType в админ SpecialUserType ?

Ошибка, которую я получаю:

 <class 'django.contrib.auth.models.User'> has no ForeignKey to <class 'students.models.SpecialUserType'> 

Это имеет смысл, потому что OneToOneField размещается в модели SpecialUserType , очевидно, а не в User . Но как я могу заставить его обратить вспять на OneToOneField ?

(Я знаю, что это может показаться необычным, но есть веская причина, по которой я хочу настроить администратора таким образом, а не наоборот).

К сожалению, это невозможно. Я несколько раз сталкивался с проблемой перед собой.

Как говорится в сообщении об ошибке, встроенная модель должна иметь ExternalKey (или OneToOneField), указывающий на основную модель.

Как уже говорили другие, я нашел подклассификацию User очень полезным для меня:

 class UserProfile(User): user = OneToOneField(User, parent_link=True) # more fields, etc