from vacancies.main.models import Vacancy from django.db.models import Q def get_next_vacancy(customer_cv): vacancy = Vacancy.objects.filter( ~Q(id__in=customer_cv.customer.recommended_vacancies.values_list("vacancy_id", flat=True)), Q(min_salary_rub__isnull=True) | Q(min_salary_rub__gt=customer_cv.min_salary_rub), job_title__title__in=customer_cv.job_titles.values_list("title", flat=True), ).first() if vacancy: customer_cv.customer.recommended_vacancies.create(vacancy=vacancy) return vacancy