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

回到顶部