具有Choice选项的Django IntegerField如何创建0-10个整数选项

问题描述

|| 我想将选择小部件中的字段限制为值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的分数。如果您希望到10,则输入范围(1,11)