Что такое IntegerChoices
Python
Middle
Без компании
Что такое IntegerChoices
Ответы
IntegerChoices — это класс в Django, предназначенный для создания перечислений (enum) с целочисленными значениями. Он упрощает работу с выбором вариантов в моделях, формах и сериализаторах, обеспечивая читаемость и удобство.
**Пример:**
```
from django.db import models
class Status(models.IntegerChoices):
DRAFT = 0, 'Черновик'
PUBLISHED = 1, 'Опубликовано'
ARCHIVED = 2, 'В архиве'
class Article(models.Model):
status = models.IntegerField(choices=Status.choices, default=Status.DRAFT)
```
**Особенности:**
- Значения хранятся как `int` в БД.
- Автоматически генерирует `.choices` для использования в полях.
- Поддерживает удобные методы: `Status(1).label` → `'Опубликовано'`.
- Совместим с Python-стилем (`Status.PUBLISHED` вместо магических чисел).