Django формы как инициализировать только не обязательное поле вместо передачи всех обязательных полей

class Student(models.Model):
    name = models.CharField(null=True, blank=True)
    fieldA = models.TextField(null=True, blank=True)
    fieldB = models.TextField(null=True, blank=True)
    fieldC = models.TextField(null=True, blank=True)
    fieldD = models.TextField(null=True, blank=True)

class Meta:
   model = Student
   fields = '__all__'

На основе приведенного выше примера все поля берутся в UpdateView или CreateView. Если мне нужно взять только требуемое поле, я могу изменить Meta на

class Meta:
   model = Student
   fields = ['name','fieldA',fieldB','fieldC']

Вопрос в том, как добавить только те поля, которые не должны передаваться в Meta.Из приведенного выше примера 'fieldD' не передается. Есть ли способ сказать 'fieldD' не требуется вместо того, чтобы передавать все необходимые поля в Meta.Так что код может быть сокращен.

Выше приведен небольшой пример. Допустим, у меня есть 200 полей и только 1 поле, которое я не хочу передавать, поэтому вместо передачи 199 обязательных полей в Meta есть ли способ сказать, что только 1 поле не должно передаваться

Используйте Meta.exclude вместо Meta.fields для определения только тех полей, которые не должны присутствовать на форме

class StudentForm(forms.ModelForm):
    class Meta:
        model = Student
        exclude = ['fieldD']
Вернуться на верх