From fa788865819bc5e4a0a31e130be4aa3398fe426f Mon Sep 17 00:00:00 2001 From: MohamadReza Taalebi <33086212+mrtaalebi@users.noreply.github.com> Date: Mon, 27 Jan 2020 15:36:29 +0330 Subject: [PATCH] Update generics.py Fix GenericAPIView.get_serializer(self, *args, **kwargs) ignores context in kwargs and replaces it (which may be used by views) with its default context --- rest_framework/generics.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rest_framework/generics.py b/rest_framework/generics.py index c39b02ab7..25b26c30f 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -106,7 +106,14 @@ class GenericAPIView(views.APIView): deserializing input, and for serializing output. """ serializer_class = self.get_serializer_class() - kwargs['context'] = self.get_serializer_context() + + # Include view's costum context + default_context = self.get_serializer_context() + if 'context' in kwargs: + kwargs['context'].update(default_context) + else: + kwargs['context'] = default_context + return serializer_class(*args, **kwargs) def get_serializer_class(self):