Функции формы модели¶
Справочник 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- это словарь имен полей модели, сопоставленных с классом поля формы.Пример использования см. в Функция фабрики 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(). Подробности см. в разделе formsets.Пример использования см. в Модельные наборы форм.
Changed in Django Development version:Добавлены аргументы
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.Пример использования см. в Встроенные наборы форм.
Changed in Django Development version:Добавлены аргументы
absolute_maxиcan_delete_extra.