我知道 Model 没有 MultipleChoiceField
,您只能在 Forms 上使用它。
今天我在分析一个与多项选择相关的新项目时遇到了一个问题。
我想有一个像 CharField
这样的字段,带有 choices
和多选选项。
我在其他时候通过创建 CharField
解决了这个问题,并使用 forms.MultipleChoiceField
管理表单中的多个选择,并存储用逗号分隔的选择。
在这个项目中,由于配置的原因,我不能像上面提到的那样做,我需要在模型中做,我更喜欢 NOT 来编辑 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 之类的解决方案。
关于python - Django 模型多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27440861/