我有一个模型(使用sqlalchemy)人。在这种情况下,每个人只能有一个工作或没有工作(工作也是模型)。我需要检索字典数组(每个字典代表一个人,如果人在人的内部有工作嵌套工作字典)
[{"name":"Timothy", "age":26},
{"name":"Jack", "age":34, "job":{"type":"programmer, "money":5}},
...
]
目前我迭代了这样的人:
for person in session.query(PersonModel).all():
result_person = create_dictionary_for_person()
job = session.query(JobModel).filter(JobModel.person_id == person.id).first()
if job:
result_person['job'] = create_dictionary_for_job()
some_list.append(result_person)
(create_dicti...是简单的转换函数,JobModel在PersonModel上有外键person_id,都有主键id)。
有什么办法可以避免每个人两次查询?