Spec-Zone.ru › Django 4.0

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

Справочник по 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, renderer=None)

Возвращает класс 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(). См. наборы форм для подробностей.

См. Наборы форм моделей для примера использования.

Изменено в Django 3.2:

Добавлены аргументы absolute_max и can_delete_extra.

Изменено в Django 4.0:

Добавлен аргумент renderer.

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)

Возвращает набор InlineFormSet, используя modelformset_factory() с значениями по умолчанию formset=BaseInlineFormSet, can_delete=True, и extra=3.

Если ваша модель имеет более одного ForeignKey к parent_model, необходимо указать fk_name.

См. Вложенные наборы форм для примера использования.

Изменено в Django 3.2:

Добавлены аргументы absolute_max и can_delete_extra.

Изменено в Django 4.0:

Добавлен аргумент renderer.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/4.0/ref/forms/models/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API