Как передать определенный CustomUser в CreateView на основе класса в Django?

После завершения учебника я решил преобразовать представления, основанные на функциях, в представления, основанные на классах, чтобы лучше изучить оба варианта. Но я зашел в тупик с передачей полей CustomUser в CreateView:

#model:
class CustomUser(AbstractUser):
    user_type_data=((1,"HOD"),(2,"Staff"),(3,"Student"))
    user_type=models.CharField(default=1, choices=user_type_data, max_length=10)

class Staff(models.Model):
    id=models.AutoField(primary_key=True)
    admin=models.OneToOneField(CustomUser, on_delete=models.CASCADE)
    email=models.EmailField()
    address=models.TextField(blank=True)
    objects=models.Manager()

#view:
@method_decorator(csrf_exempt, name='dispatch')
class SubjectCreateView(CreateView):
    model = Subject
    fields = ['id', ... ]

То, что я хочу поместить в fields=, это: staff.first_name, staff.last_name, но ни одна из комбинаций, которые я пробовал, не сработала. Это моя первая встреча с CustomUser, поэтому мои поиски не принесли результатов. Буду признателен за подсказки.

То, что я опубликую ниже, не решит мою проблему с CreateView, но если вы застряли в такой же ситуации, это сообщение предлагает один из советов о том, как отобразить все поля в ModelForms (fields = '__all__'). А эта тема предлагает советы о том, как получить объекты, ссылающиеся как ForeignKey.

Если кто-то может объяснить, как создать CreateView для CustomUser с полями, которые не перечислены в models.py, но, возможно, выходят из AbstractUser или BaseUser, я приму это как ответ.

Вернуться на верх