Django EnumField支持Python3和DRF

时间:2017-04-08 06:11:12

标签: django python-3.x django-models enums django-rest-framework

我的Django模型需要EnumField。我试过了django-enumfield。但它不支持Django 1.10。我也试过这个django-enumfields。但Django REST Framework不支持此功能。

我的用例,

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

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

1 个答案:

答案 0 :(得分:0)

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

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