From 20c1acf4c49fb39b363b3eda42afec8415f981f5 Mon Sep 17 00:00:00 2001 From: Chris Guo Date: Wed, 16 Oct 2019 16:49:07 +0800 Subject: [PATCH] Fix: default value as argument. --- rest_framework/filters.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rest_framework/filters.py b/rest_framework/filters.py index c15723ec3..80c808deb 100644 --- a/rest_framework/filters.py +++ b/rest_framework/filters.py @@ -203,9 +203,12 @@ class OrderingFilter(BaseFilterBackend): return (ordering,) return ordering - def get_default_valid_fields(self, queryset, view, context={}): + def get_default_valid_fields(self, queryset, view, context=None): # If `ordering_fields` is not specified, then we determine a default # based on the serializer class, if one exists on the view. + if context is None: + context = {} + if hasattr(view, 'get_serializer_class'): try: serializer_class = view.get_serializer_class() @@ -230,7 +233,10 @@ class OrderingFilter(BaseFilterBackend): if not getattr(field, 'write_only', False) and not field.source == '*' ] - def get_valid_fields(self, queryset, view, context={}): + def get_valid_fields(self, queryset, view, context=None): + if context is None: + context = {} + valid_fields = getattr(view, 'ordering_fields', self.ordering_fields) if valid_fields is None: