我正在覆盖perform_update
中的rest_framework.mixins.UpdateModelMixin
方法。
我添加了代码以便在本地保存来自旧对象的数据,但是此查询使得可浏览api中的数据不会更新,直到我再次重新加载页面或进行其他查询。有趣的是,页面底部(在编辑器中)的原始数据实际上是准确的!因此,在重新加载页面之前,只有主要内容中显示的数据不准确。
罪魁祸首
def perform_update(self, serializer):
old_obj = MyModel.objects.get(id=serializer.data["id"]) # new code
obj = serializer.save()
if old_obj.status != obj.status:
print('status changed.')
有人可以告诉我为什么可浏览的api主要内容不会更新但原始数据会更新吗?
示例
我将'status'字段从'rc'更改为'ts'。它在原始数据中更新,但不在页面的主要内容中更新。