0

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

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

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

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

但模型期望:

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

self.CONTENT进入我的自定义发布方法时,它已经过验证并且是空的。

那么,在数据被验证/拒绝之前,我可以在哪里/如何交换这些数据?
我需要自定义验证方法吗?

感谢您的任何建议!

4

1 回答 1

0

我尝试弄乱资源上的字段和额外字段属性,但无法让它不验证它是错误的。所以我最终只是将“signal_name”字段中的字段添加到模型中,并将其与 post 方法中的信号 id 匹配。(谢天谢地,在这种情况下,我们对 Signal 有一个非强制的 FK,所以我可以等待给信号一个值)

我会检查几天,看看是否有人真的知道如何更好地做到这一点。另外,感谢披萨和汤姆的建议!

于 2012-11-06T22:55:49.370 回答