Python 带有选项的Django IntegerField(如何创建0-10个整数选项)
我想在select小部件中将字段限制为0-10Python 带有选项的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
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中它是无用的,请参阅