Fix FilterSet proxying

This commit is contained in:
Kieran Spear 2016-10-24 13:06:18 +08:00 committed by Kieran Spear
parent 0eb99e6580
commit 96523b6883

View File

@ -37,15 +37,21 @@ class BaseFilterBackend(object):
return [] return []
class FilterSet(object): if django_filters:
def __new__(cls, *args, **kwargs): from django_filters.filterset import FilterSetMetaclass as DFFilterSetMetaclass
warnings.warn( from django_filters.rest_framework.filterset import FilterSet as DFFilterSet
"The built in 'rest_framework.filters.FilterSet' is pending deprecation. "
"You should use 'django_filters.rest_framework.FilterSet' instead.", class FilterSetMetaclass(DFFilterSetMetaclass):
PendingDeprecationWarning def __new__(cls, name, bases, attrs):
) warnings.warn(
from django_filters.rest_framework import FilterSet "The built in 'rest_framework.filters.FilterSet' is pending deprecation. "
return FilterSet(*args, **kwargs) "You should use 'django_filters.rest_framework.FilterSet' instead.",
PendingDeprecationWarning
)
return super(FilterSetMetaclass, cls).__new__(cls, name, bases, attrs)
class FilterSet(six.with_metaclass(FilterSetMetaclass, DFFilterSet)):
pass
class DjangoFilterBackend(BaseFilterBackend): class DjangoFilterBackend(BaseFilterBackend):