TGViewer
Python Backend | YeaHub Python Backend | YeaHub @yeahub_python_backend · 1.76K subscribers
Post #11 306
#ЧеКак
🤔 Для чего используется IntegerChoices?

IntegerChoices в Django используется для создания выбора из ограниченного набора целочисленных значений для поля модели. Это полезно, когда вам нужно ограничить допустимые значения для поля модели определенными целыми числами, и при этом иметь удобные человекочитаемые названия для этих значений.

🚩Основные плюсы

🟠Читаемость кода
Значения выбора имеют человекочитаемые названия, что делает код более понятным.
🟠Поддержка валидации
Django автоматически проверяет, что значение поля соответствует одному из допустимых значений.
🟠Удобство использования в админке
В Django admin интерфейсе выпадающий список с человекочитаемыми названиями делает работу с данными удобнее.

🚩Пример использования

1⃣Создание класса IntegerChoices
from django.db import models

class Status(models.IntegerChoices):
PENDING = 1, 'Pending'
APPROVED = 2, 'Approved'
REJECTED = 3, 'Rejected'


2⃣Использование IntegerChoices в модели
from django.db import models

class Application(models.Model):
status = models.IntegerField(choices=Status.choices, default=Status.PENDING)
name = models.CharField(max_length=100)
submitted_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return f"{self.name} - {self.get_status_display()}"


3⃣Пример работы с моделью
# Создание новой записи
app = Application.objects.create(name='John Doe')

# Проверка статуса
print(app.status) # 1
print(app.get_status_display()) # 'Pending'

# Изменение статуса
app.status = Status.APPROVED
app.save()

# Проверка обновленного статуса
print(app.status) # 2
print(app.get_status_display()) # 'Approved'


👉Новости 👉Платформа
More from @yeahub_python_backend
  1. Oct 12, 2026#Собес #architecture #bottleneck #tracing 🤔 В каких ситуациях проблема производительности…
  2. Oct 9, 2026#repository #тестовые #задание #собеседование 📚 Тестовые задания из реальных собеседовани…
  3. Oct 8, 2026#Собес #sql #order 🤔 Какой порядок выполнения SQL-запроса? 💬 Кратко: SQL выполняется не…
  4. Oct 7, 2026#Собес #memory 🤔 Middle+ Python Backend-разработчик в DELOTECH Техническое собеседование.…
  5. Oct 5, 2026#Собес #inheritance #composition #mixin 🤔 Какие есть способы переиспользования методов од…
  6. Oct 2, 2026#repository #собес 📚 Interactive Coding Challenges от Donne Martin Более 120 интерактивны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →