Django EnumField for Python3 and DRF support



我需要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

注意: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, ...)

注意:对于简单的情况,这不是一个坏主意。