在保存请求或使用django rest框架响应之前,如何对传入请求执行某些任务?

理查德·加西亚

我是django的新手,我正在尝试将内置的旧API迁移到Django Rest Framework中,简而言之:例如,该API旨在从不同设备接收不同种类的薪水

{
   "device": "device001",
   "deviceType": "temperature_device",
   "deviceTs": timestamp,
   "payload": {
      "airTemp": X,
      "airHum": Y,
   }
}

有效负载并不总是相同,因此其他设备(不同类型)将在“有效负载”字段中带来不同的键值对。

我正在使用Django Rest Framework,以及模型序列化程序和和GenericViewSet,

但是问题在于,在将数据存储到数据库并返回HTTP响应之前,我需要执行数据验证(最小值和最大值),并且在某些情况下,设备会发送一些“损坏的”数据(例如:负数) number带有以下语法:1.-5(而不是-1.5),我需要修复这些值,依此类推,最后,我需要使用固定的有效负载和API密钥(即应该存储在我的数据库中的设备详细信息模型中)

因此,简而言之,在将数据存储到DB中并返回HTTP响应之前,我如何对请求执行任何类型的-previous工作?

截拳道

您将在其中收到您的有效负载,request.data然后必须对其进行序列化并根据您的要求验证您的有效负载。

这是DRF系列化文档,可帮助您了解序列化的工作原理。

这是DRF验证程序文档,用于了解验证程序的工作原理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章