У меня есть две модели Job и Applicants, модель Job имеет атрибут years_of_experience, а модель Applicants имеет атрибут Applic_experience. Я хочу получить у кандидатов многолетний опыт работы и сравнить его с требуемым многолетним опытом работы для каждой конкретной работы, а также вернуть только те из них, которые удовлетворяют требованиям в представлении.
models.py
class Job(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
years_of_experience = models.IntegerField(blank=True, null=True)
class Applicants(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
job = models.ForeignKey(Job, on_delete=models.CASCADE, related_name='applicants')
experience = models.IntegerField(blank=True, null=True)
views.py
class QualifiedApplicantPerJobView(ListView):
model = Applicants
template_name = 'qualified_applicants.html'
context_object_name = 'applicants'
paginate_by = 2
@method_decorator(login_required(login_url=reverse_lazy('login')))
def dispatch(self, request, *args, **kwargs):
return super().dispatch(self.request, *args, **kwargs)
def get_queryset(self):
return Applicants.objects.filter(job_id=self.kwargs['job_id']).order_by('-id')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['job'] = Job.objects.get(id=self.kwargs['job_id'])
return context
Applicants.html
{% for applicant in applicants %}
{% if applicant.experience >= job.years_of_experience %}
<div class="col-lg-6">
<div class="box applicant">
<h4>{{ applicant.user.get_full_name }}</h4>
<h4>{{ applicant.user.email }}</h4>
</div>
{% endif %}
{% endfor %}
Я не хочу делать это так, я хочу иметь возможность делать это в моих взглядах, получитьколичество квалифицированных заявителей (количество) и возврат квалифицированных кандидатов. Каков наилучший способ приблизиться к этому. Спасибо