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']