18 lines
685 B
Python
18 lines
685 B
Python
from django.db.models import Q
|
|
|
|
from vacancies.main.models import Vacancy
|
|
|
|
|
|
def get_next_vacancy(customer_cv):
|
|
vacancy = Vacancy.objects.filter(
|
|
~Q(id__in=customer_cv.customer.recommended_vacancies.values_list("vacancy_id", flat=True)),
|
|
job_title__title__in=customer_cv.job_titles.values_list("title", flat=True),
|
|
).filter(
|
|
(Q(min_salary_rub__isnull=True) | Q(min_salary_rub__gt=customer_cv.min_salary_rub)) |
|
|
(Q(max_salary_rub__isnull=False) & Q(max_salary_rub__gte=customer_cv.min_salary_rub)),
|
|
).order_by("-timestamp").first()
|
|
if vacancy:
|
|
customer_cv.customer.recommended_vacancies.create(vacancy=vacancy)
|
|
|
|
return vacancy
|