Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向Django模型添加“set”数据类型?_Python_Django - Fatal编程技术网

Python 如何向Django模型添加“set”数据类型?

Python 如何向Django模型添加“set”数据类型?,python,django,Python,Django,这似乎是一个非常明显的问题,我完全肯定以前有人问过这个问题,但不幸的是,“set”并不是一个很好的搜索关键字 我试图定义一个模型,该模型使用一个“set”数据类型作为其成员的一天中的一小时和一周中的几天。可以放入其中的数据集非常有限,但您可以不选择或选择所有可能的值。在一周中的任何一天,仅仅是周末,或者任何介于两者之间的日子,都可能允许做一些事情。编辑:从技术上讲,我可以通过多对多的关系来处理这个问题,然后添加一周中的几天和一天中的几个小时的课程,但考虑到这些课程的固定性太强,这似乎相当荒谬。让

这似乎是一个非常明显的问题,我完全肯定以前有人问过这个问题,但不幸的是,“set”并不是一个很好的搜索关键字

我试图定义一个模型,该模型使用一个“set”数据类型作为其成员的一天中的一小时和一周中的几天。可以放入其中的数据集非常有限,但您可以不选择或选择所有可能的值。在一周中的任何一天,仅仅是周末,或者任何介于两者之间的日子,都可能允许做一些事情。编辑:从技术上讲,我可以通过多对多的关系来处理这个问题,然后添加一周中的几天和一天中的几个小时的课程,但考虑到这些课程的固定性太强,这似乎相当荒谬。让客户端在系统中增加一天中的几个小时/一周中的几天是愚蠢的,实际上需要对它们进行修复,以便相关API的消费者正确解析它们


但我不知道如何在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字段对应于该字段。