Как передать определенный 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, я приму это как ответ.