Spec-Zone.ru › Django 4.2

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

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

Возвращает класс 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(). Подробности см. в formsets.

Аргумент edit_only позволяет запретить создание новых объектов.

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

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

Был добавлен аргумент edit_only.

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, edit_only=False)

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

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

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

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

Был добавлен аргумент edit_only.

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

Spec-Zone.ru

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