Джанго Формирует Поле Выбора
У меня есть два вопроса, касающиеся поля выбора Джанго:
Это моя форма:
class ContactForm(forms.Form):
GENDER = (
(1, _("Mr.")),
(2, _("Ms.")),
)
prefix = forms.ChoiceField(choices=GENDER)
...
Это работает нормально, однако мне было интересно, почему поле выбора не принимает значение по умолчанию..
На странице он выводит Mr как выбранное значение, однако если форма отправлена (Примечание: required=True-значение по умолчанию для этого поля), он не выдает ошибку, и значение в моей форме post data - "Ms".
Другой вопрос:
{{ prefix.get_prefix_display }}
кажется, не работает.. Есть ли разница между моделями и формами с использованием этой функции?
1 ответ:
Я думаю, что вы путаете поля форм и поля моделей. В поле формы можно задать выбор по умолчанию, используя аргумент 'initial':
Https://docs.djangoproject.com/en/dev/ref/forms/fields/#initial
Но он представлен в вашей модели полем ModelField, для которого значение по умолчанию может быть установлено с помощью аргумента default:
Https://docs.djangoproject.com/en/dev/ref/models/fields/#default