diff --git a/jobposting/views.py b/jobposting/views.py index 888d2f1..fdebd07 100644 --- a/jobposting/views.py +++ b/jobposting/views.py @@ -77,41 +77,20 @@ class JobOfferListView(APIView): permission_classes = [] def get(self, request, format=None): - min_salary = request.query_params.get('min_salary', None) - print(min_salary) - max_salary = request.query_params.get('max_salary', None) - print(max_salary) - localization = request.query_params.get('localization', None) - print(localization) - name = request.query_params.get('name', None) - print(name) - if min_salary is not None and min_salary != '': - min_salary = int(min_salary) - if max_salary is not None and max_salary != '': - max_salary = int(max_salary) - if localization is not None and localization != '': - pass - else: - localization = None - if name is not None and name != '': - name = Q(name__icontains=name) | Q(company_name__icontains=name) - else: - name = None - - categories = request.query_params.getlist('categories', None) - print(categories) - + categories = request.query_params.get('categories', None) + if categories is not None: + categories = categories.split(',') filters = { - 'min_salary__gte': min_salary, - 'max_salary__lte': max_salary, - 'localization': localization, - 'category__in': categories, - 'experience_level': request.query_params.get('experience_level', None), - 'employment_type': request.query_params.get('employment_type', None), - 'work_from_home': request.query_params.get('work_from_home', None), - } + 'min_salary__gte': request.query_params.get('min_salary', None), + 'max_salary__lte': request.query_params.get('max_salary', None), + 'localization': request.query_params.get('localization', None), + 'categories': categories, + 'experience_level': request.query_params.get('experience_level', None), + 'employment_type': request.query_params.get('employment_type', None), + 'work_from_home': request.query_params.get('work_from_home', None), + } - # remove None values + # remove None values filters = {k: v for k, v in filters.items() if v is not None} job_offers = JobOffer.objects.filter(**filters)