微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建多选选项?或将属性添加到models.CharField

如何解决如何创建多选选项?或将属性添加到models.CharField

| 我有这个
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管理部分。     

解决方法

        您可以使用SelectMultiple小部件来呈现它: https://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.SelectMultiple 您可能会在表单中使用MultipleChoiceField: https://docs.djangoproject.com/zh-CN/1.3/ref/forms/fields/#multiplechoicefield     ,        为您的模型创建一个ModelForm并手动设置您希望字段显示为的小部件: models.py
class Book(models.Model):
    publisher = models.CharField(max_length=100)
表格
class BookForm(forms.ModelForm):
    publisher = forms.MultipleChoiceField(widget=forms.SelectMultiple)

    class Meta:
        model = Book
这意味着用于显示该字段的HTML是一个选择,表单将数据生成为发布者列表,并且您的有效选择将简单地另存为字符字段在数据库中。您实际上不需要指定widget = forms.SelectMultiple,但是很高兴看到正在发生的事情(在谈论数据库/表单/小部件时,我总是会混淆不同的字段)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。