Функции модельных форм¶
Описание 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)¶
Возвращает класс
FormSetдля указанного классаmodel.Аргументы
model,form,fields,exclude,formfield_callback,widgets,localized_fields,labels,help_texts,error_messagesиfield_classesвсе проходят через функциюmodelform_factory().Arguments
formset,extra,can_delete,can_order,max_num,validate_max,min_num,validate_min,absolute_max, andcan_delete_extraare passed through toformset_factory(). See formsets for details.Обратитесь к документации на Наборы модельных форм для примеров использования.
Changed in Django 3.2:The
absolute_maxandcan_delete_extraarguments were added.
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)¶
Возвращает
InlineFormSet, используя функциюmodelformset_factory()со стандартнымиformset=BaseInlineFormSet,can_delete=Trueиextra=3.Если ваша модель содержит больше одного внешнего ключа (
ForeignKey) к родительской модели (parent_model), обязательно указывайтеfk_name.Обратитесь к документации на Встраиваемые наборы форм для примеров использования.
Changed in Django 3.2:The
absolute_maxandcan_delete_extraarguments were added.