Skip to content

Commit af29fd0

Browse files
author
Ryan P Kilby
committed
Merge pull request #61 from rpkilby/update-django-filter
Update django-filter to 0.12.0
2 parents 29bbb32 + f77c394 commit af29fd0

File tree

6 files changed

+11
-56
lines changed

6 files changed

+11
-56
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ env:
1313
- DJANGO="Django>=1.9,<1.10"
1414
install:
1515
- travis_retry pip install -q $DJANGO
16-
- python setup.py install
16+
- pip install .
1717
script: python manage.py test rest_framework_filters
1818

1919
matrix:

rest_framework_filters/fields.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
from django import forms
2-
3-
# TODO: Remove when django-filter 0.12.0 is released
4-
try:
5-
from django_filters import BooleanWidget
6-
except ImportError:
7-
from .widgets import BooleanWidget
2+
from django_filters.widgets import BooleanWidget
83

94

105
class BooleanField(forms.BooleanField):

rest_framework_filters/filters.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,11 @@ class BooleanFilter(BooleanFilter):
7373
field_class = fields.BooleanField
7474

7575

76-
class InSetFilterBase(object):
77-
def filter(self, qs, value):
78-
if value in ([], (), {}, None, ''):
79-
return qs
80-
method = qs.exclude if self.exclude else qs.filter
81-
qs = method(**{self.name: value})
82-
if self.distinct:
83-
qs = qs.distinct()
84-
return qs
85-
86-
87-
class InSetNumberFilter(InSetFilterBase, NumberFilter):
76+
class InSetNumberFilter(Filter):
8877
field_class = fields.ArrayDecimalField
8978

9079

91-
class InSetCharFilter(InSetFilterBase, NumberFilter):
80+
class InSetCharFilter(Filter):
9281
field_class = fields.ArrayCharField
9382

9483

rest_framework_filters/filterset.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ def __init__(self, *args, **kwargs):
6969
filter_.setup_filterset()
7070

7171
# Add an 'isnull' filter to allow checking if the relation is empty.
72-
isnull = "%s%sisnull" % (filter_.name, LOOKUP_SEP)
73-
if isnull not in self.filters:
74-
self.filters[isnull] = filters.BooleanFilter(name=isnull)
72+
filter_name = "%s%sisnull" % (filter_.name, LOOKUP_SEP)
73+
if filter_name not in self.filters:
74+
self.filters[filter_name] = filters.BooleanFilter(name=filter_.name, lookup_type='isnull')
7575

7676
elif isinstance(filter_, filters.MethodFilter):
7777
filter_.resolve_action()
@@ -191,9 +191,9 @@ def fix_filter_field(cls, f):
191191
"""
192192
lookup_type = f.lookup_type
193193
if lookup_type == 'isnull':
194-
return filters.BooleanFilter(name=("%s%sisnull" % (f.name, LOOKUP_SEP)))
194+
return filters.BooleanFilter(name=f.name, lookup_type='isnull')
195195
if lookup_type == 'in' and type(f) == filters.NumberFilter:
196-
return filters.InSetNumberFilter(name=("%s%sin" % (f.name, LOOKUP_SEP)))
196+
return filters.InSetNumberFilter(name=f.name, lookup_type='in')
197197
if lookup_type == 'in' and type(f) == filters.CharFilter:
198-
return filters.InSetCharFilter(name=("%s%sin" % (f.name, LOOKUP_SEP)))
198+
return filters.InSetCharFilter(name=f.name, lookup_type='in')
199199
return f

rest_framework_filters/widgets.py

Lines changed: 0 additions & 26 deletions
This file was deleted.

setup.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
# -*- coding: utf-8 -*-
33

44
from setuptools import setup
5-
import re
65
import os
7-
import sys
86

97

108
def get_packages(package):
@@ -43,10 +41,9 @@ def get_package_data(package):
4341
packages=get_packages('rest_framework_filters'),
4442
package_data=get_package_data('rest_framework_filters'),
4543
zip_safe=False,
46-
#test_suite='rest_framework.runtests.runtests.main',
4744
install_requires=[
4845
'djangorestframework',
49-
'django-filter>=0.11.0',
46+
'django-filter>=0.12.0',
5047
],
5148
classifiers=[
5249
'Development Status :: 5 - Production/Stable',

0 commit comments

Comments
 (0)