Skip to content

Commit 36c01d8

Browse files
authored
Merge pull request #495 from PROCOLLAB-github/feature/vacancy_search_filter
Added filter to vacancy
2 parents 9213b0c + 80a312d commit 36c01d8

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

news/filters.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ class NewsFilter(filters.FilterSet):
1818
.filter(datetime_created__gt=datetime.datetime(...))
1919
"""
2020

21-
# title__contains = filters.Filter(field_name="title", lookup_expr="contains")
2221
text__contains = filters.Filter(field_name="text", lookup_expr="contains")
2322
datetime_created__gt = filters.DateTimeFilter(
2423
field_name="datetime_created", lookup_expr="gt"

vacancy/filters.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ def filter_by_salary_max(self, queryset: QuerySet[Vacancy], name, value: list[st
9090
except ValueError:
9191
return queryset
9292

93+
def filter_by_role(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
94+
if not value:
95+
return queryset
96+
return queryset.filter(role__icontains=value[0])
97+
9398
project_id = filters.Filter(method=project_id_filter)
9499
is_active = filters.BooleanFilter(field_name="is_active")
95100

@@ -106,12 +111,14 @@ def filter_by_salary_max(self, queryset: QuerySet[Vacancy], name, value: list[st
106111
choices=WorkFormat.choices(),
107112
)
108113

114+
role_contains = filters.Filter(method="filter_by_role")
109115
salary_min = filters.Filter(method="filter_by_salary_min")
110116
salary_max = filters.Filter(method="filter_by_salary_max")
111117

112118
class Meta:
113119
model = Vacancy
114120
fields = (
121+
"role_contains",
115122
"project_id",
116123
"is_active",
117124
"required_experience",

0 commit comments

Comments
 (0)