Django模型MultipleChoice
我知道没有MultipleChoiceField
一个模式,你只能用它的形式。
今天,当我分析与多项选择相关的新项目时遇到一个问题。
我希望有一个具有的字段CharField,choices
可以选择多项。
我通过创建a来解决此问题,CharField
并用a形式管理多个选择,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模型MultipleChoice 的全部内容, 来源链接: utcz.com/qa/414732.html