Я не могу понять, как я получаю данные в шаблоне, которые связаны с внешним ключом. Я покажу вам, что у меня сейчас, что прояснит для вас.
CompanyProfile:
class CompanyProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, related_name='company_profile')
company_name = models.CharField(max_length=30)
def __str__(self):
return self.company_name
Работа:
class Job(models.Model):
user = models.ForeignKey(CompanyProfile, on_delete=models.CASCADE)
title = models.CharField(max_length=300)
is_active = models.BooleanField(default=True)
def __str__(self):
return self.title
JobFunction:
class JobFunction(models.Model):
job = models.ForeignKey(Job, on_delete=models.CASCADE, null=True)
name = models.CharField(max_length=60)
def __str__(self):
return self.name
Представление:
def show_jobs(request):
jobs = Job.objects.all()
job_type = JobFunction.objects.all()
context = {
'jobs': jobs,
'job_type': job_type,
}
return render(request, 'jobportal/jobs/browse-job.html', context, {
})
В одном задании может быть несколько функций, или только в 1 это не выполняется. это не имеет значения, но мне нужно получить тот, где JobFunction связана с работой. Я делаю следующее:
{% for job in jobs %}
{{ job.title }}
{% for jf in job_type %}
{{ jf.name }}
{% endfor %}
{% endfor %}
«Работа» показывает все отлично, но jf не динамический c, он показывает те же функции во всех работах в списке. У l oop есть идентификатор, я хочу сказать, что job.id = job_type.id, но как я могу это сделать? Я хочу показать для каждого элемента задания job_functions, которые связаны с указанным c заданием / компанией.