From 36cabfa2c52accbd2cce2f224304d42ec7e874d4 Mon Sep 17 00:00:00 2001 From: Tony Pilara Date: Thu, 26 May 2016 15:35:53 -0700 Subject: [PATCH] Fix return stale data on PATCH to-one relationship --- example/tests/test_views.py | 2 ++ rest_framework_json_api/views.py | 1 + 2 files changed, 3 insertions(+) diff --git a/example/tests/test_views.py b/example/tests/test_views.py index a4f4ce75..2cfe6ce6 100644 --- a/example/tests/test_views.py +++ b/example/tests/test_views.py @@ -101,6 +101,7 @@ def test_patch_to_one_relationship(self): } response = self.client.patch(url, data=json.dumps(request_data), content_type='application/vnd.api+json') assert response.status_code == 200, response.content.decode() + assert response.data == request_data['data'] response = self.client.get(url) assert response.data == request_data['data'] @@ -112,6 +113,7 @@ def test_patch_to_many_relationship(self): } response = self.client.patch(url, data=json.dumps(request_data), content_type='application/vnd.api+json') assert response.status_code == 200, response.content.decode() + assert response.data == request_data['data'] response = self.client.get(url) assert response.data == request_data['data'] diff --git a/rest_framework_json_api/views.py b/rest_framework_json_api/views.py index 4b6e631a..9d4a649d 100644 --- a/rest_framework_json_api/views.py +++ b/rest_framework_json_api/views.py @@ -99,6 +99,7 @@ def patch(self, request, *args, **kwargs): serializer.is_valid(raise_exception=True) setattr(parent_obj, self.get_related_field_name(), serializer.validated_data) parent_obj.save() + related_instance_or_manager = self.get_related_instance() # Refresh instance result_serializer = self._instantiate_serializer(related_instance_or_manager) return Response(result_serializer.data)