[英]Excluding non-value from Django rendered drop-down
我有一個從基礎表填充的下拉列表,但是在渲染時,下拉列表上沒有選擇任何值,而是顯示了“ -------”。 不用說“ ------”不對應任何表行。
這是代碼:
class CompanyCategory(db.Model):
categoryname = db.StringProperty(required=False)
def __unicode__(self):
return u'%s' % (self.categoryname)
class SelectCategoryForm(djangoforms.ModelForm):
class Meta:
model = SelectCat
該代碼使用html中的此代碼呈現
{ form.companycategory }}
這是錯誤:
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__
handler.post(*groups)
File "/base/data/home/apps/s~biomapit/1.359892355004556500/showcompanies.py", line 163, in post
mycategoryid = [form_requirements.clean_data['companycategory'].key().id()]
AttributeError: 'NoneType' object has no attribute 'key'
呈現下拉菜單時,如何更改默認值或刪除“ -----”。 如果將categoryname = db.StringProperty(required=False)
行更改為categoryname = db.StringProperty(required=True)
則沒有任何區別。
作為回應之后的一種額外嘗試,我嘗試了:
class SelectCategoryForm(djangoforms.ModelForm):
class Meta:
model = SelectCat
def __init__(self, *args, **kwargs):
super(SelectCategoryForm, self).__init__(*args, **kwargs)
modelchoicefields = [field for field_name, field in self.fields.iteritems() if isinstance(field, forms.ModelChoiceField)]
for field in modelchoicefields:
field.empty_label = None
無濟於事-我仍然得到“ -----”。
我認為您正在尋找empty_label
# A custom empty label
field1 = forms.ModelChoiceField(queryset=..., empty_label="(Nothing)")
# No empty label
field2 = forms.ModelChoiceField(queryset=..., empty_label=None)
這將為您提供更多幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.