模型表單函式

模型表單 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)[原始碼]

為給定的 model 回傳一個 ModelForm 類別。您可以選擇性地傳遞一個 form 引數,作為建構 ModelForm 的起點。

fields 是一個可選的欄位名稱列表。如果提供,只有指定的欄位才會包含在回傳的欄位中。

exclude 是一個可選的欄位名稱列表。如果提供,指定的欄位將會從回傳的欄位中排除,即使它們在 fields 引數中被列出。

formfield_callback 是一個可呼叫物件,它接受一個模型欄位並回傳一個表單欄位。

widgets 是一個模型欄位名稱對應到 widget 的字典。

localized_fields 是一個應被本地化的欄位名稱列表。

labels 是一個模型欄位名稱對應到標籤的字典。

help_texts 是一個模型欄位名稱對應到輔助說明的字典。

error_messages 是一個模型欄位名稱對應到錯誤訊息字典的字典。

field_classes 是一個模型欄位名稱對應到表單欄位類別的字典。

關於範例用法,請參閱ModelForm 工廠函式

您必須透過關鍵字引數 fieldsexclude,或者在表單的內部 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)[原始碼]

為給定的 model 類別回傳一個 FormSet 類別。

引數 modelformfieldsexcludeformfield_callbackwidgetslocalized_fieldslabelshelp_textserror_messagesfield_classes 都會傳遞給 modelform_factory()

引數 formsetextracan_deletecan_ordermax_numvalidate_maxmin_numvalidate_minabsolute_maxcan_delete_extrarenderer 都會傳遞給 formset_factory()。關於詳細資訊,請參閱表單集合

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)[來源]

使用 modelformset_factory() 並預設 formset=BaseInlineFormSetcan_delete=Trueextra=3,回傳一個 InlineFormSet

如果您的模型有多個指向 parent_modelForeignKey,您必須指定一個 fk_name

有關範例用法,請參閱內嵌表單集合

回到頂部