Создание сложной модели без базы данных Django

On django 3

Когда мне нужны данные без реальной базы данных (например, mysql), я могу использовать m.IntegerChoices

Это CallType никогда не меняется, поэтому IntegerChoices подходит.

from django.db import models as m
class CallType(m.IntegerChoices):
    PULL = 1 
    PUSH = 2

class BaseCall(models.Model):
    class Meta:
        db_table = 't_BaseCall'

    call_type = m.PositiveSmallIntegerField(
        choices=CallType.choices, default=CallType.PULL)

Теперь я хочу расширить CallType более сложное

class CallType(m.IntegerChoices):
    PULL = {"number":1,"name":"pulling"}
    PUSH = {"number":2,"name":"pushing"}

Какую практику я должен использовать?

Боюсь, IntegerChoices не подходит для этого случая.

Для добавления меток к типам перечисления Django, передайте кортежи каждому члену, где первый элемент - значение, а второй - пользовательская метка

class CallType(m.IntegerChoices):
    PULL = 1, "pulling"
    PUSH = 2, "pushing"
Вернуться на верх