我正在尝试构建一个Django rest api,以允许我的客户端发送带有数据的请求,以便我可以将它们保存到数据库中。我已经完成了那部分,但除了通过Serializers实现的格式验证之外,我还想检查数据验证....例如
UnitOfMeasureName = ["Each", "Grams", "Ounces", "Pounds", "Kilograms", "Metric Tons"]
UnitOfMeasureName 应该是列表中的上述内容之一,
因此,如果用户在请求数据中发送{..., 'UnitOfMeasureName': 'invalid_one', ...}
,我想发送错误请求。
(这将传递序列化程序,因为类型是字符串)
请提出任何意见,如果您需要任何澄清,请在评论中提问。并提前感谢.. :)
答案 0 :(得分:6)
在序列化程序类中添加一个方法来验证UnitOfMeasureName
,如下所示:
def validate_unitofmasurename(self, value):
UnitOfMeasureName = ["Each", "Grams", "Ounces", "Pounds", "Kilograms", "Metric Tons"]
if value in UnitOfMeasureName:
return True
else:
return ValidationError('Invalid masure name')