From 63a9128738b41415bde68d3629d653ea3eb76be0 Mon Sep 17 00:00:00 2001 From: Dwi Sulfahnur Date: Tue, 26 Mar 2019 12:37:00 +0700 Subject: [PATCH 1/2] Set dynamic field for get method only --- drf_dynamic_fields/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drf_dynamic_fields/__init__.py b/drf_dynamic_fields/__init__.py index 73ae6cf..e4a5bbf 100644 --- a/drf_dynamic_fields/__init__.py +++ b/drf_dynamic_fields/__init__.py @@ -34,7 +34,7 @@ def fields(self): parent_is_list_root = self.parent == self.root and getattr(self.parent, 'many', False) if not (is_root or parent_is_list_root): return fields - + try: request = self.context['request'] except KeyError: @@ -43,6 +43,10 @@ def fields(self): warnings.warn('Context does not have access to request. ' 'See README for more information.') return fields + + # Dynamic fields must be used for GET method only + if request.method != 'GET': + return fields # NOTE: drf test framework builds a request object where the query # parameters are found under the GET attribute. From 509e1e83332601bacb22fe99a6d2efdf732c0398 Mon Sep 17 00:00:00 2001 From: Dwi Sulfahnur Date: Tue, 26 Mar 2019 12:42:08 +0700 Subject: [PATCH 2/2] Fix unused indent --- drf_dynamic_fields/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drf_dynamic_fields/__init__.py b/drf_dynamic_fields/__init__.py index e4a5bbf..4c51fa4 100644 --- a/drf_dynamic_fields/__init__.py +++ b/drf_dynamic_fields/__init__.py @@ -34,7 +34,7 @@ def fields(self): parent_is_list_root = self.parent == self.root and getattr(self.parent, 'many', False) if not (is_root or parent_is_list_root): return fields - + try: request = self.context['request'] except KeyError: