Для чего нужен IntegerChoices
Python
Middle
Без компании
Для чего нужен IntegerChoices
Ответы
`IntegerChoices` в Django используется для создания выбора из предопределённых целочисленных значений с человекочитаемыми метками. Это удобно для полей модели, где нужно ограничить варианты (например, статусы заказов).
Пример:
```
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)
```
Преимущества:
- Читаемость кода (метки вместо "магических чисел").
- Валидация значений.
- Доступ к меткам через `Status.DRAFT.label`.
- Интеграция с Django-админкой (выпадающий список).
Альтернатива — `TextChoices` для строковых значений.