Python Django REST Framework 2.4.3中的多对多补丁没有立即响应

Python Django REST Framework 2.4.3中的多对多补丁没有立即响应,python,django,django-rest-framework,Python,Django,Django Rest Framework,在具有多对多关系的端点上执行补丁似乎会更新对象,但在下一个响应之前不会返回更新的数据,而不是在补丁响应中返回更新的数据 原始对象示例: { "id": 35, "interests": [ 1, 2 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } { "id": 35,

在具有多对多关系的端点上执行
补丁
似乎会更新对象,但在下一个响应之前不会返回更新的数据,而不是在
补丁
响应中返回更新的数据

原始对象示例:

{ "id": 35, "interests": [ 1, 2 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } { "id": 35, "interests": [ 1, 2 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } { "id": 35, "interests": [ 1, 2, 3, 4, 5 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } 下一步
获取
响应的示例:

{ "id": 35, "interests": [ 1, 2 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } { "id": 35, "interests": [ 1, 2 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } { "id": 35, "interests": [ 1, 2, 3, 4, 5 ], "personal_statement": "Hello World", "photo": "", "resume": "", "user": 2 } { “id”:35, “利益”:[ 1. 2. 3. 4. 5. ], “个人声明”:“你好,世界”, “照片”:“, “简历”:“简历”, “用户”:2 } 这是使用Django v1.7.4和Django REST框架v2.4.3

我的第一个假设是,由于它是一个多对多关系,它首先保存父对象,然后在保存多对多关系数据之前返回该数据,但我不能完全确定。任何帮助都将不胜感激。谢谢

编辑 这个问题实际上是Django REST框架上的一个公开问题,有一些可能的解决方案。这是由我的ViewSet queryset中与预回迁相关的
引起的:

根据RESTAPI模式,
补丁
请求执行部分更新,因此
Django REST框架
只返回更新的数据


您可能希望覆盖
补丁视图
以返回完整的序列化程序数据,或者将
补丁
请求更改为
放置
一个。

我在添加与多对多字段相关的预取时遇到了相同的问题。我只需在序列化程序中添加自定义更新即可解决此问题:

def update(self, instance, validated_data):
    super(SimpleClientModelResource, self).update(instance, validated_data)
    return self.Meta.model.objects.get(id=instance.id)