我有这个
models.CharField(max_length=10,choices=LOCATION_NAME)
但是,我想让它呈现这样的东西,
<select multiple="multiple">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
我正在尝试将此添加到django管理员部分。
答案 0 :(得分:2)
您可以使用SelectMultiple Widget渲染它:
https://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.SelectMultiple
您可能会在表单中使用MultipleChoiceField:
https://docs.djangoproject.com/en/1.3/ref/forms/fields/#multiplechoicefield
答案 1 :(得分:2)
为您的模型创建一个ModelForm,并手动设置您希望该字段显示的小部件:
<强> models.py 强>
class Book(models.Model):
publisher = models.CharField(max_length=100)
<强> forms.py 强>
class BookForm(forms.ModelForm):
publisher = forms.MultipleChoiceField(widget=forms.SelectMultiple)
class Meta:
model = Book
这意味着用于显示字段的HTML是选择,表单会将数据生成为发布者列表,您的有效选择仅保存为数据库中的字符字段。你实际上并不需要指定widget = forms.SelectMultiple,但是很高兴看到发生了什么(在谈论数据库/表单/小部件时我总是混淆不同的字段)