此搜索返回约2,000人。我想找到每个没有所附简历的人
candidates = db_session.query(Jobs).\
filter(and_(
Jobs.interview_type == 'IN_HOUSE',
Jobs.interview_result == 'INCLINED',
or_(Jobs.level == '5', Jobs.level =='6'),
Jobs.family_id == 'SDE',
)).all()
所以我尝试加入。
此搜索仅返回〜70个结果。大概每个都有所附简历的人。
candidates = db_session.query(Jobs).\
join(Resumes, Resumes.candidate_id == Jobs.candidate_id).\
filter(and_(
Jobs.interview_type == 'IN_HOUSE',
Jobs.interview_result == 'INCLINED',
or_(Jobs.level == '5', Jobs.level =='6'),
Jobs.family_id == 'SDE',
)).all()
似乎将结果减少到每个有简历的人,而不是在不存在简历的列中返回None
。
我该如何写这篇文章,以便无论他们是否附有简历,我都能找到所有人?
答案 0 :(得分:0)
应用.outerjoin
(而不是.join
)
将Jobs
表(被视为“人”)视为“ 左”表和{ {1}}-作为“ 右”表。