如何在Django 2中合并两个原始查询?
我试图将两个查询返回数据合并到一个对象中,如如何在Django 2中合并两个原始查询?,django,python-3.x,merge,Django,Python 3.x,Merge,我试图将两个查询返回数据合并到一个对象中,如 viewAllUq = Uqmain.objects.raw(''' select *, uqmain.id as uqmainID, company.name as companyName, uqmain.created_by as uqMainCreated_by, company.slug as companySlug, uqmain.slug as uqmainSlug
viewAllUq = Uqmain.objects.raw('''
select *, uqmain.id as uqmainID, company.name as companyName, uqmain.created_by as uqMainCreated_by,
company.slug as companySlug, uqmain.slug as uqmainSlug from uqmain
Left join company ON company.id = uqmain.company_id
Left join user ON user.id = uqmain.created_by
where uqmain.deleted = 0''')
doneBids = Uqbids.objects.raw('''
select DISTINCT uq_main_id as bidDoneUqmain, id from
uqbids where created_by = %s''',[request.user.id])
这里的viewallq和doneBids是两个原始查询,我想将此查询合并为一个查询,如
merged = viewAllUq + doneBids #I want something like this to merge them
for data in merged:
print(data.companyName) # Access viewAllUq object data
print(data.bidDoneUqmain) # Access doneBids object data
我做了一些谷歌搜索,但没有帮助我。使用dict进行数据库查询可能更好。比如:
merged_dict ={"viewAllUq":viewAllUq,
"doneBids": doneBids
}
view_all_uq = merged_dict.get("viewAllUq")
如果需要,您可以通过dict进行迭代。谢谢您的回答。如果我做了
view\u all\u uq=merged\u dict.get(“viewallq”)
,那么我只能访问viewallq数据,但我想同时访问donebid。您的表uqmain和uqbids有关系吗?不,它们通过其他表没有关系吗?我用来充当外键概念。所以基本上他们没有关系。如果您打印view\u all\u uq,那么它只返回viewallq full query,而不返回doneBids