Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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 IntegerField(如何创建0-10个整数选项)_Python_Django - Fatal编程技术网

Python 带有选项的Django IntegerField(如何创建0-10个整数选项)

Python 带有选项的Django IntegerField(如何创建0-10个整数选项),python,django,Python,Django,我想在select小部件中将字段限制为0-10 field=models.IntegerField(max_length=10, choices=CHOICES) 我可以写出从(0,0),(1,1)开始的所有选择元组,但必须有一个明显的方法来处理这个问题 非常感谢您的帮助。使用Python列表理解: CHOICES = [(i,i) for i in range(11)] 这将导致: [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6

我想在select小部件中将字段限制为0-10

field=models.IntegerField(max_length=10, choices=CHOICES)
我可以写出从(0,0),(1,1)开始的所有选择元组,但必须有一个明显的方法来处理这个问题


非常感谢您的帮助。

使用Python列表理解:

CHOICES = [(i,i) for i in range(11)]
这将导致:

[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10,10)]

正如@Torsten所提到的,您可以通过以下方式进行改进:

field = models.IntegerField(choices=list(zip(range(1, 10), range(1, 10))), unique=True)

但请记住,这会给你从1到9的时间。如果需要,将范围(1,11)设置为10,直到范围(11)达到0-10+1非最小最大长度指定列的宽度,而不是最大值。您需要max_length=2有关IntegerField
max_length
的内容,在Django 1.1X和2.X中它是无用的,请参阅