我想在select小部件中将字段限制为值 0-10 。
field=models.IntegerField(max_length=10, choices=CHOICES)
我可以写出来自(0,0),(1,1)的所有选择元组,但必须有一种明显的方法来处理它。
非常感谢帮助。
答案 0 :(得分:35)
使用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)]
答案 1 :(得分:3)
正如@Torsten所提到的,你可以通过以下方式改进它:
field = models.IntegerField(choices=list(zip(range(1, 10), range(1, 10))), unique=True)
但请记住,这将从1到9给你。如果你想要直到10
,请设置范围(1,11)