Модель Django, целые числа в качестве вариантов

Подскажите, пожалуйста, корректен ли следующий код? Я хочу создать выпадающий список, который в админке django будет показывать выпадающий список с выбором целого числа:

class Test(TimeStampedModel):
    """
    Test specifications
    """
    TIME_INTERVALS = Choices(
        ('SECONDS_30', 30)
        ('SECONDS_60', 60)
        ('SECONDS_90', 90)
        ('SECONDS_120', 120)
        ('SECONDS_150', 150)
        ('SECONDS_300', 300)
    )

    sample_time = models.PositiveSmallIntegerField(choices=TIME_INTERVALS, default=TIME_INTERVALS.SECONDS_30)

Спасибо

Шаблон:

# list of tuples:
INTEGER_CHOICES = (
  <int>, <string>,
  ...
)

Где <int> - значение, хранящееся в БД, а <string> - то, что отображается пользователям в выпадающем меню

Типичный случай использования выглядит следующим образом:

models.py

SECONDS_30 = 30
SECONDS_90 = 90
...

TIME_INTERVALS = (
    SECONDS_30, "30 Seconds",
    SECONDS_90, "90 Seconds", 
    ...
)

class Test(...):

    sample_time = models.PositiveSmallIntegerField(choices=TIME_INTERVALS, ...)
    ...

Тогда в ваших представлениях:

views.py

from . import models

# update sample time:
test_instance = models.Test.objects.get(...)
test_instance.sample_time = models.SECONDS_30
test_instance.save()
...
Вернуться на верх