如何使用序列化器在 Django 中验证枚举

问题描述 投票:0回答:1

我正在使用序列化器来验证我的发布数据。 如何验证枚举?

我有一堂这样的课:

class DataTypeEnum(StrEnum):
    FLOAT = 'float'
    INTEGER = 'integer'
    BOOLEAN = 'boolean'

我的帖子输入包含

{
...
  "value" : <datatype>
...
}

其中

value
应具有
float
integer
boolean

的值
python django validation django-rest-framework
1个回答
0
投票

姜戈
类 DataTypeEnum(StrEnum): FLOAT = '浮动' 整数 = '整数' BOOLEAN = '布尔值'

类DataTypeForm(表单): value = ChoiceField(choices=((dt.value, dt.name) for dt in DataTypeEnum), required=True)

def clean_value(self):
    return DataTypeEnum(self.cleaned_data['value'])
© www.soinside.com 2019 - 2024. All rights reserved.