我知道没有MultipleChoiceField一个模式,你只能用它的形式。
MultipleChoiceField
今天,当我分析与多项选择相关的新项目时遇到一个问题。
我希望有一个具有的字段CharField,choices可以选择多项。
CharField,choices
我通过创建a来解决此问题,CharField并用a形式管理多个选择,forms.MultipleChoiceField并存储用逗号分隔的选择。
CharField
forms.MultipleChoiceField
在这个项目中,由于配置,我不能这样做,因为我上面提到的,我需要做的是在型号,我宁愿不来编辑Django管理形式 既不使用形式。我需要具有多个选择选项的“模型字段”
编辑 我知道一些简单的选择,我想拥有一些类似的东西:
class MODEL(models.Model): MY_CHOICES = ( ('a', 'Hola'), ('b', 'Hello'), ('c', 'Bonjour'), ('d', 'Boas'), ) ... ... my_field = models.CharField(max_length=1, choices=MY_CHOICES) ...
但具有保存多项选择的能力,而不仅仅是一项选择。
你需要考虑如何在数据库级别存储数据。这将决定你的解决方案。
假设你希望表中的单个列存储多个值。这也将迫使你考虑如何序列化-例如,如果你需要存储可能包含逗号的字符串,则不能简单地用逗号分隔。
但是,最好使用django-multiselectfield之类的解决方案
django-multiselectfield