У меня есть форма django, сгенерированная моделью.
class Manager(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
gender = models.CharField(max_length=50)
birth_date = models.DateField()
phone_number = models.CharField(max_length=10)
region_of_residence = models.CharField(max_length=50)
city_of_residence = models.CharField(max_length=50)
common_of_redidence = models.CharField(max_length=50)
address_of_residence = models.CharField(max_length=50)
zip_of_residence = models.CharField(max_length=50)
username = models.CharField(max_length=20)
email = models.CharField(max_length=200)
password = models.CharField(max_length=100)
def __str__(self):
return self.username
Я создал форму, чтобы перезаписать некоторые поля и добавить другое таким образом:
class ManagerForm(forms.ModelForm):
gender = forms.ChoiceField(choices=GENDER_CHOICES)
password = forms.CharField(widget=forms.PasswordInput())
verify_password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = Manager
fields = ('first_name', 'last_name', 'gender', 'birth_date',
'phone_number', 'region_of_residence', 'city_of_residence',
'common_of_redidence', 'address_of_residence',
'zip_of_residence', 'username', 'email', 'password',)
def clean(self):
cleaned_data = super(ManagerForm, self).clean()
password = cleaned_data.get("password")
verify_password = cleaned_data.get("verify_password")
if password != verify_password:
raise forms.ValidationError(
"password and verify_password does not match"
)
Я поместил свой выбор во внешний файл, и они:
GENDER_CHOICES = [
_('Non specificato'),
_('Uomo'),
_('Donna')
]
Теперь я хотел бы представить мою форму с простым для утверждения
{% for field in form %}{% render_field field class="form-control" %}.
Но я получаю следующую ошибку:
ValueError: too many values to unpack (expected 2)
как мне правильно отобразить эти поля?