Создание сложной модели без базы данных 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"