0

次のクエリを実行する必要があります。

open_positions = Jobs.objects.all()
open_positions_with_apply = open_positions.extra(`has_applied` = 
            JobApplication.objects.filter(profile=profile, job=job).exists()

私がやりたいことを明確にするために:

profile = UserProfile.objects.get(id=1)
new_query_set = []
for job in Jobs.objects.all():
    has_applied = JobApplication.objects.filter(job=job, profile=profile)
    new_query_set.append(job with its has_applied value) # in pseudocode, not sure how this would be done

基本的に、プロファイル (ページにアクセスしたユーザー) とジョブの QuerySet が与えられた場合、ユーザーが応募したかどうかのブール値を見つける必要があります。djangoクエリでこれを行うにはどうすればよいですか?

4

1 に答える 1

0

job_id価値があるのは、ユーザーが応募したジョブのvalues_listをテンプレートで取得することで、これを解決することでした-

{% for job in jobs %}
    {% if job.id not in jobs_user_has_applied_to %}
    <form>...
    {% else %}
    You've applied for this
{% endfor %}
于 2012-05-27T01:18:42.340 に答える