【问题标题】:Django rest api validate data sent in the requestsDjango rest api 验证请求中发送的数据
【发布时间】:2018-04-05 07:28:03
【问题描述】:

我正在尝试构建一个 Django rest api 以允许我的客户发送带有数据的请求,以便我可以将它们保存到数据库中。我已经完成了那部分,但除了通过序列化程序实现的格式验证之外,我还想检查数据验证......例如

UnitOfMeasureName = ["Each", "Grams", "Ounces", "Pounds", "Kilograms", "Metric Tons"]

UnitOfMeasureName 应该是列表中的上述之一,

因此,如果用户在请求数据中发送{..., 'UnitOfMeasureName': 'invalid_one', ...},我想发送一个错误的请求。 (这将传递序列化程序,因为类型是字符串)

请有任何想法,如果您需要任何澄清,请在 cmets 中询问。并提前感谢.. :)

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    在您的序列化程序类中添加一个方法来验证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')
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 2014-06-03
    • 2021-08-11
    • 2018-10-29
    • 2016-07-01
    • 2021-11-16
    相关资源
    最近更新 更多