[英]How do I make a Django ModelForm menu item selected by default?
我正在開發 Django 應用程序。 我的模型之一“用戶”包含一個“性別”字段,定義如下:
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, null=True)
我正在使用 ModelForm 生成“新用戶”HTML 表單。 我的 Google-fu 似乎讓我失望了——我怎樣才能讓這個 HTML 表單在下拉框中默認選中“男性”項目? (即,為此項目selected="selected"
。)
如果您需要選擇默認值的空白表單,則使用字段名稱作為鍵將“初始”字典傳遞給 model 表單的構造函數:
form = MyModelForm (initial={'gender':'M'})
-或者-
您可以使用 Forms API 的聲明性質覆蓋 ModelForm 的某些屬性。 但是,對於這個用例來說,這可能有點麻煩,我提到它只是為了向您展示您可以做到。 將來您可能會發現此功能的其他用途。
class MyModelForm (forms.ModelForm):
gender = forms.ChoiceField (choices=..., initial='M', ...)
class Meta:
model=MyModel
-或者-
If you want a ModelForm that is bound to a particular instance of your model, you can pass an 'instance' of your model which causes Django to pull the selected value from that model.
form = MyModelForm (instance=someinst)
肯定default
會解決問題嗎?
例如
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, default='M', null=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.