在Django REST Framework中保存模型之前更改POST数据

时间:2012-11-05 22:19:25

标签: django django-rest-framework

免责声明:我是基于DRF /类的视图新手。

我遇到的情况是我的API的客户端无法知道资源的ID,但它确实知道该资源的唯一标识符(其名称)。

当客户端通过POST向第一个发送具有外键的单独资源时,这是一个问题。例如......客户端发送以下数据(信号为FK):

{"signal_name": "signal1", "value": 5}

但模型预计:

{"signal": 1, "value": 5}

self.CONTENT到达我的自定义帖子方法时,它已经过验证并且为空。

那么,在数据得到验证/拒绝之前,我在哪里/如何交换数据?
我是否需要自定义验证方法?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

我尝试搞乱资源上的字段和字段外属性,但无法将其验证为错误。所以我最后只是将'signal_name'字段中的字段添加到模型中,并将其与post方法中的信号id匹配。 (值得庆幸的是,在这种情况下,我们有一个非强制性的FK信号,所以我可以等待给出一个信号值)

我会回来查看几天,看看是否有人知道如何更好地做到这一点。另外,感谢Pizza和Tom的建议!