#python #django
Вопрос:
У меня есть следующие модели для пользователя, настроенные с использованием наследования нескольких таблиц:
class MyBaseUser(AbstractBaseUser):
# model fields....
class Meta:
verbose_name_plural = 'Users'
class SubUser(MyBaseUser):
# model fields
Теперь в терминале все, кажется, работает так, как ожидалось, при создании SubUser
он возвращает SubUser
экземпляр и создает MyBaseUser
в бд. Если я запрошу у MyBaseUser
класса идентификатор созданного SubUser
, он вернется, и я смогу my_base_user_instance.subuser.<sub_user_field>
все сделать так, как я ожидал.
Однако как я должен настроить a ModelAdmin
для SubUser
класса?
У меня есть:
@admin.register(SubUser)
class SubUserAdmin(admin.ModelAdmin):
# fields...
но ни один из SubUser
экземпляров не отображается, что, я думаю, имеет смысл, учитывая, как работает наследование нескольких таблиц, но как настроить администратора для отображения/обновления подклассов? Я не сталкивался с этим раньше, спасибо.
Комментарии:
1. Вы установили abstract = True в своем классе MyBaseUser?
2. Нет, к сожалению, это не может быть абстрактным из — за существующих пользователей в БД
3. Я предполагаю, что наследство есть
SubUser(MyBaseUser)
.4. Да, извини! Обновили вопрос
5. Я предполагаю, что вы этого не видите, потому что они используют многословное имя множественного числа и находятся в одном приложении. Переопределите verbose_name_plural для модели субпользователя.