簡體   English   中英

class Django 中的元 VS 表單字段

[英]class Meta VS form fields in Django

我正在從這個例子中學習 Django forms 。 當我運行我的服務器時,我得到django.core.exceptions.ImproperlyConfigured: Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is prohibited在這里解決)。 使用 class Meta 一切正常。 請解釋一下,我能否將這兩種方法與Django==2.2.6一起使用,以及它們的優缺點。

Django 1.8之后,要求forms在class Meta中明確指出要顯示哪些字段,所以2.2.6肯定需要這樣做。

fields是一種列出字段的包容性方式。 如果您明確想要列出表單中包含哪些字段,請將它們放在此處。 這意味着如果您更改 model,model 中的新字段將不會自動添加到表單中,除非您將字段設置為__all__

exclude不出所料地與之相反。 這意味着該表單包括所有字段,但在 exclude 中明確列出的字段除外。 如果您更改 model,除非您更改exclude中的內容,否則新字段將添加到表單中。

在宏偉的計划中,差異並沒有那么大。 這僅取決於您是否要明確指定包含的內容或排除的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM