Django EnumField для поддержки Python3 и DRF


Мне нужен EnumField для моих моделей Django. Я попробовал django-enumfield. Но это не поддерживает с Django 1.10. Я также попробовал это django-enumfields. Но это не поддерживается в рамках Django REST.

Мой вариант использования,

# models.py
role = EnumField(UserRoleEnum, default=UserRoleEnum.STUDENT)

# enums.py
class UserRoleEnum(Enum):
  STUDENT = 0
  TEACHER = 1
  ADMIN = 2
1 2

1 ответ:

Примечание: Через 3 дня. Нет ответа. : (

Я использовал что-то вроде этого,

Enums.py

class MyEnum:
    ADMIN = 0
    NORMAL = 1

USER_ENUM_CHOICES = (
    (0, 'ADMIN'),
    (0, 'NORMAL')
)

Models.py

class MyModel(models.Model):
    role = models.CharField(choices=MyEnum.USER_ENUM_CHOICES, max_length=1, ...)

Примечание: для простого случая это неплохая идея.