Я конвертирую опрос с Form
в ModelForm
в Django 1.6.2, но у меня возникла проблема с выбором правильного типа поля для ChoiceField
. Опрос был выполнен с использованием SessionWizardView.Правильный способ перезаписи `forms.ChoiceField` в ModelField? Это модели.ForeignKey?
Мой вопрос: Каков правильный способ перезаписи приведенного ниже кода, который использовался в моих формах.py в мои models.py с помощью ModelForm?
старый код:
forms.py
class SurveyFormA(forms.Form):
MALE = 'M'
FEMALE = 'F'
SEX = (
("", "----------"),
(MALE, "Male"),
(FEMALE, "Female"),
)
sex = forms.ChoiceField(widget=forms.Select(), choices=SEX, initial= "", label='What sex are you?', required = False)
Ниже моя попытка, но от чтения documentation в котором перечислены соответствующие поля формы для каждого поля модели кроме ChoiceField
, я не 100 % уверен, что я прав.
Новый код:
forms.py
class SurveyFormA(forms.ModelForm):
class Meta:
model = Person
fields = ['sex']
models.py
class Person(models.Model):
MALE = 'M'
FEMALE = 'F'
SEX = (
(MALE, "Male"),
(FEMALE, "Female"))
sex = models.ForeignKey('Person', related_name='Person_sex', null=True, choices=SEX, verbose_name='What sex are you?')
Правильно ли это?