Python 如何向Django模型添加“set”数据类型?
这似乎是一个非常明显的问题,我完全肯定以前有人问过这个问题,但不幸的是,“set”并不是一个很好的搜索关键字 我试图定义一个模型,该模型使用一个“set”数据类型作为其成员的一天中的一小时和一周中的几天。可以放入其中的数据集非常有限,但您可以不选择或选择所有可能的值。在一周中的任何一天,仅仅是周末,或者任何介于两者之间的日子,都可能允许做一些事情。编辑:从技术上讲,我可以通过多对多的关系来处理这个问题,然后添加一周中的几天和一天中的几个小时的课程,但考虑到这些课程的固定性太强,这似乎相当荒谬。让客户端在系统中增加一天中的几个小时/一周中的几天是愚蠢的,实际上需要对它们进行修复,以便相关API的消费者正确解析它们Python 如何向Django模型添加“set”数据类型?,python,django,Python,Django,这似乎是一个非常明显的问题,我完全肯定以前有人问过这个问题,但不幸的是,“set”并不是一个很好的搜索关键字 我试图定义一个模型,该模型使用一个“set”数据类型作为其成员的一天中的一小时和一周中的几天。可以放入其中的数据集非常有限,但您可以不选择或选择所有可能的值。在一周中的任何一天,仅仅是周末,或者任何介于两者之间的日子,都可能允许做一些事情。编辑:从技术上讲,我可以通过多对多的关系来处理这个问题,然后添加一周中的几天和一天中的几个小时的课程,但考虑到这些课程的固定性太强,这似乎相当荒谬。让
但我不知道如何在Django中重现MySQLs“set”数据类型。我从错误的方向解决了这个问题,从搜索角度出发。我需要查找多个选择选项,而不是搜索“set”数据类型,因为“set”也用于“将变量设置为foo” 从这里开始,有很多参考资料将我引向这个代码段,这显然是唯一的选择:
我从错误的方向来处理这个问题,搜索明智。我需要查找多个选择选项,而不是搜索“set”数据类型,因为“set”也用于“将变量设置为foo” 从这里开始,有很多参考资料将我引向这个代码段,这显然是唯一的选择:
本模块实现了ArrayField,这与您所追求的非常接近 从文件中:
class Register(models.Model):
name = models.CharField(max_length=200)
points = ArrayField(dbtype="int")
objects = ExpressionManager()
>>> Register.objects.create(points = [1,2,3,4])
<Register: Register object>
以下是ArrayField的实现方式:
本模块实现了ArrayField,这与您所追求的非常接近 从文件中:
class Register(models.Model):
name = models.CharField(max_length=200)
points = ArrayField(dbtype="int")
objects = ExpressionManager()
>>> Register.objects.create(points = [1,2,3,4])
<Register: Register object>
以下是ArrayField的实现方式:
Django中的任何数据类型都需要映射到数据库字段类型。您想如何将您的集合映射到数据库字段?@Mingyu如果我正确理解您的问题,那么只需使用MySQL中的“set”数据类型即可。问题是我无法找出哪个Django字段对应于该字段。Django中的任何数据类型都需要映射到数据库字段类型。您想如何将您的集合映射到数据库字段?@Mingyu如果我正确理解您的问题,那么只需使用MySQL中的“set”数据类型即可。问题是我无法找出哪个Django字段对应于该字段。