Spec-Zone.ru › Django 4.1

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

Справочник по 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.0:

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

Изменено в 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=, can_delete=True, и extra=3.

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

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

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

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

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

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

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

Spec-Zone.ru

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