Skip to content

Commit 6eedf5c

Browse files
committed
age filters can be only lower/upper bounds now
1 parent dbdd3a6 commit 6eedf5c

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

users/filters.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ def filter_by_partner_program(cls, queryset, name, value):
4545
return User.objects.none()
4646

4747
@classmethod
48-
def filter_age(cls, queryset, name, value):
49-
start, stop = map(int, value.split(","))
48+
def filter_age(cls, queryset, start, stop):
49+
# start, stop = map(int, value.split(","))
5050
start, stop = min(start, stop), max(start, stop)
5151
return queryset.filter(
5252
Q(
@@ -59,6 +59,14 @@ def filter_age(cls, queryset, name, value):
5959
)
6060
)
6161

62+
@classmethod
63+
def filter_age__gte(cls, queryset, name, value):
64+
return cls.filter_age(queryset, value, 1000)
65+
66+
@classmethod
67+
def filter_age__lte(cls, queryset, name, value):
68+
return cls.filter_age(queryset, 0, value)
69+
6270
@classmethod
6371
def filter_by_fullname(cls, queryset, name, value):
6472
words = value.split()
@@ -93,7 +101,8 @@ def filter_by_fullname(cls, queryset, name, value):
93101
)
94102
fullname = filters.CharFilter(method="filter_by_fullname")
95103

96-
age = filters.Filter(field_name="age", method="filter_age")
104+
age__gte = filters.Filter(method="filter_age__gte")
105+
age__lte = filters.Filter(method="filter_age__lte")
97106

98107
class Meta:
99108
model = User

0 commit comments

Comments
 (0)