Функции модельной формы ¶
Справочник по API модельной формы. Вводный материал о модельных формах см. В разделе « Создание форм из моделей» .
modelform_factory
¶
-
modelform_factory
( модель , форма = 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
- словарь имен полей модели, сопоставленных с классом поля формы.См. Пример использования фабричной функции ModelForm .
Вы должны предоставить список полей явно, либо через аргументы ключевого слова
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()
.Аргументы
formset
,extra
,can_delete
,can_order
,max_num
,validate_max
,min_num
,validate_min
,absolute_max
, иcan_delete_extra
передаются наformset_factory()
. См. Подробности в наборах форм .См. Пример использования модельных наборов форм .
Изменено в Django 3.2:absolute_max
Иcan_delete_extra
были добавлены аргументы.
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
.См. Пример использования встроенных наборов форм .
Изменено в Django 3.2:absolute_max
Иcan_delete_extra
были добавлены аргументы.