当前位置: 首页 > 面试题库 >

Django模型MultipleChoice

仲和韵
2023-03-14
问题内容

我知道没有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之类的解决方案



 类似资料:
  • 主要内容:,创建模型,操作数据(CRUD),其他数据操作,,链接模型模型是表示我们的数据库表或集合类,并且其中所述类的每个属性是表或集合的字段。模型是在 app/models.py 中定义(在我们的例子中是:myapp/models.py) 创建模型 下面是创建一个 Dreamreal 模型实例 − 每一个模型继承自django.db.models.Model。 我们类有4个属性(3 CharField和1个整数),这将是表中的字段。 Meta类与db_table

  • 我们现在将要创建的是一个能存储我们博客所有文章的东西。为了达到这个目的,我们将要讲解一下一个被称为objects(对象)的东西. 对象 在编程中有一个概念叫做 面向对象编程 。 它的思想是,与其用无聊的一连串的程序指令方式写程序,我们不如为事物建立模型,然后定义他们是怎样互相交互的。 那什幺是对象呢?它是一个属性和操作的集合。它听起来很奇怪,但我们会给你一个例子。 如果我们想塑造一只猫的模型,我们

  • Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django 为这些数据库提供了统一的调用API。 我们可以根据自己业务需求选择不同的数据库。 MySQL 是 Web 应用中最常用的数据库。本章节我们将以 Mysql 作为实例进行介绍。你可以通过本站的 MySQL 教程 了解更多Mysql的基础知识。 如果你没安装 mysql 驱动

  • 问题内容: 我想创建一个models.Model类,它不成为数据库的一部分,而只是其他模型的接口(我想避免重复代码)。 像这样: 因此,我的数据库应仅具有Foo(具有a,b,c列)和Bar(具有a,b,d),而不应具有表Interface。 问题答案: “抽象基类” 当您要将一些公共信息放入许多其他模型时,抽象基类很有用。您编写基类并放入Meta类。然后,将不会使用该模型来创建任何数据库表。相反,

  • 问题内容: 如何使用Django的ORM和PostgreSQL后端存储二进制数据的“ blob”?是的,我知道Django对这种事情不屑一顾,是的,我知道他们更喜欢你使用ImageField或FileField来表示,但这足以说明我的应用程序不切实际。 我曾尝试通过使用TextField对其进行破解,但是当我的二进制数据未严格确认模型的编码类型(默认为unicode)时,会出现偶尔的错误。例如 问

  • 问题内容: 我有一个模型与ManyToManyField类似(模型Word也有一种语言): 当尝试添加新句子时(例如通过django admin),我得到了。这意味着我在保存self.words之前无法访问它,但这正是我想要做的。有什么办法可以解决此问题,以便你仍然可以验证此模型?我真的很想直接验证模型的字段。 我发现了许多与此异常有关的问题,但找不到解决我的问题的帮助。我将不胜感激任何建议! 问