SqlAlchemy连接限制数据集

时间:2019-05-10 19:06:34

标签: python sqlalchemy

此搜索返回约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

我该如何写这篇文章,以便无论他们是否附有简历,我都能找到所有人?

1 个答案:

答案 0 :(得分:0)

应用.outerjoin(而不是.join
Jobs表(被视为“人”)视为“ ”表和{ {1}}-作为“ ”表。