Функции модельной формы

Справочник по 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были добавлены аргументы.

Copyright ©2021 All rights reserved