#django #django-models #django-views
Вопрос:
Применяемые наборы навыков кандидатов
class Seekerskillset(models.Model):
skill_set = models.ForeignKey(Skillset, on_delete=models.CASCADE)
seeker = models.ForeignKey(SeekerProfile, on_delete=models.CASCADE)
skill_level = models.CharField(max_length=25)
Профиль работы кандидата
class SeekerProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
current_salary = models.IntegerField()
# когда пользователи подают заявки на работу
class JobPostActivity(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
job_post = models.ForeignKey(JobPost, on_delete=models.CASCADE)
apply_date = models.DateTimeField(auto_now_add=True)
status = models.CharField(max_length=25, default='onhold')
def __str__(self):
return self.user.username '' self.job_post.title
Вот что я пытаюсь, я хочу получить навыки прикладных кандидатов, которые я просматриваю, у меня возникают проблемы с их получением, существует взаимно однозначное отношение профиля пользователя и соискателя
, но как мы можем получить доступ к этому внутри шаблона django
мой взгляд
{% for val in applicants %}
<tr>
<td>({{val.user.id}}){{val.user.username | capfirst }}</td>
<td>{{val.apply_date}}</td>
<td>
<select
class="status_select"
name="{{val.job_post.title}}"
id="{{val.user.id}}"
>
<option selected="{{val.status}}" style="font-weight: bolder">
{{val.status}}
</option>
<option value="onhold">Onhold</option>
<option value="selected">Selected</option>
<option value="rejected">Rejected</option>
</select>
</td>
<td>
<b>{{val.job_post.job_type}}</b>
</td>
<td>{{val.job_post.title}}</td>
<td>
{% for cand_skills in val.user.seeker_profile.seeker_skill_set_set.all %} <<-- here is my issue
{{cand_skills.skill_level}} {%endfor %}
</td>
</tr>
{% endfor %}
Комментарии:
1. Там нет связанного имени
SeekerProfile
, поэтому я думаю, что это будетval.user.seekerprofile. skill_set_set.all
для того, чтобы предоставить вам все связанныеSeekerskillset
экземпляры.
Ответ №1:
Вы должны просто уметь это делать:
{% for cand_skills in val.user.seekerprofile.skill_set_set.all() %}
{{ cand_skills.skill_level }}
{% endfor %}
Комментарии:
1. Вы не используете скобки в html, только в python, так что это
skill_set_set.all %}