Функции модельных форм¶
Описание API модельных форм. Полное руководство смотрите в разделе Создание форм из моделей.
modelform_factory¶
- modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None, localized_fields=None, labels=None, help_texts=None, error_messages=None, field_classes=None)¶
Возвращает класс
ModelFormдля указаннойmodel. Вы можете опционально передавать аргументform, чтобы использовать форму в качестве стартовой точки при конструированииModelForm.Аргумент
fieldsявляется необязательным списком имён полей. Если он указан, то только перечисленные в нём поля будут созданы в модельной форме.Аргумент
excludeявляется необязательным списком имён полей. Если он указан, то соответствующих полей не будет в созданной модельной форме, даже если они были указаны в аргументеfields.Аргумент
formfield_callbackявляется обработчиком, который будет применять к полям модели и возвращать поля формы.Аргумент
widgetsявляется словарём с именами полей модели привязанных к виджетам.Аргумент
localized_fieldsявляется списком имён полей, которые должны быть локализованы.Аргумент
labelsявляется словарём имён полей модели привязанных к меткам.Аргумент
help_textsявляется словарём имён полей модели привязанных к тексту подсказок.Аргумент
error_messagesявляется словарём имён полей модели привязанных к словарю с сообщениями об ошибках.Аргумент
field_classesявляется словарём имён полей модели привязанных к классам полей формы.Обратитесь к документации на Функция-фабрика модельных форм для примеров использования.
Вы должны явно определять список полей, через именованные аргументы
fieldsилиexclude, или через соответствующие атрибуты внутреннего классаMetaформы. Обратитесь к документации на Указываем какие поля использовать для подробностей. Игнорирование определения используемых полей вызовет исключениеImproperlyConfigured.
modelformset_factory¶
- modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)¶
Возвращает класс
FormSetдля указанного классаmodel.Аргументы
model,form,fields,exclude,formfield_callback,widgets,localized_fields,labels,help_texts,error_messagesиfield_classesвсе проходят через функциюmodelform_factory().Аргументы «formset», «extra», «can_delete», «can_order», «max_num», «validate_max», «min_num», «validate_min», «absolute_max», «can_delete_extra» и «renderer» передаются в
formset_factory(). Подробности см. в разделе formsets.Аргумент
edit_onlyпозволяет:ref:предотвратить создание новых объектов <model-formsets-edit-only>.Обратитесь к документации на Наборы модельных форм для примеров использования.
inlineformset_factory¶
- inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)¶
Возвращает
InlineFormSet, используя функциюmodelformset_factory()со стандартнымиformset=BaseInlineFormSet,can_delete=Trueиextra=3.Если ваша модель содержит больше одного внешнего ключа (
ForeignKey) к родительской модели (parent_model), обязательно указывайтеfk_name.Обратитесь к документации на Встраиваемые наборы форм для примеров использования.