2012-05-27 44 views
0

我需要做下面的查詢:django中的複合查詢 - 使用額外的,註釋或原始的sql?

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 

基本上給出一個配置文件(用戶訪問頁面),以及作業的查詢集,我需要找到用戶是否應用的布爾值。我如何用django查詢來做到這一點?

+0

你一直在努力,在'has_applied過濾=真「已經? –

+0

我不太清楚我的理解,請您詳細說明一下。 – David542

回答

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 %}