我知道没有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之前无法访问它,但这正是我想要做的。有什么办法可以解决此问题,以便你仍然可以验证此模型?我真的很想直接验证模型的字段。 我发现了许多与此异常有关的问题,但找不到解决我的问题的帮助。我将不胜感激任何建议! 问