Я разрабатываю вместе с моей командой Django веб-приложение, которое обеспечивает аутентификацию и создание профиля пользователя. По сути, мы имеем дело с моделью Profile
, которая расширяет django.auth.contrib.models.User
, реализуя метод связи «один к одному», как показано ниже
model.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
birth_date = models.DateField(default=datetime.date.today)
# other custom fields
def __str__(self):
return self.user.username
Поскольку мы зарегистрировали модель в admin.py
, она появляется в административной панели Django, как и должно быть.
Затем мы ввели другую модель PersonalTrainer
, которая является наследуемым классом Profile
один.
admin.py
from django.contrib import admin
from usermanager.models import Profile, PersonalTrainer
admin.site.register(Profile)
admin.site.register(PersonalTrainer)
Существует ли программный способ организации экземпляров PersonalTrainer таким образом, чтобы они отображались как в разделе «Профиль», так и в PersonalTrainer раздел? Другими словами, мы хотели бы иметь экземпляр PersonalTrainer, который появляется в аутентификационной модели пользователя, модели профиля и модели PersonalTrainer.