Подтвердить что ты не робот

Django IntegerField с параметрами выбора (как создать 0-10 целых параметров)

Я хочу ограничить поле значениями 0-10 в элементе выбора.

field=models.IntegerField(max_length=10, choices=CHOICES)

Я мог бы просто написать все варианты из (0,0), (1,1), но должен быть очевидный способ справиться с этим.

Справа высоко ценится.

4b9b3361

Ответ 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)]

Ответ 2

Как уже упоминал @Torsten, вы можете улучшить его:

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

Но помните, что это даст вам от 1 до 9. Положите диапазон (1,11), если хотите, до 10