Spec-Zone.ru › Django 3.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)

Возвращает класс 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 для получения подробностей.

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

Изменено в 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.

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

Spec-Zone.ru

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