3 回答
TA贡献1836条经验 获得超5个赞
您应该查看 django 的select_lated查找。
例子:
Picture.objects.select_related('gold_item__gold_item_id').filter(gold_item_branch=gold_item_id)
TA贡献1846条经验 获得超7个赞
你可以试试;
ids_list = GoldItemBranch.objects.all().values_list('id', flat=True)
results = Picture.objects.filter(gold_item__id__in = ids_list).select_related('gold_item_branch')
如果你想查看实际执行了哪个查询:
results.query
还有另一种方法可以使用 django 运行原始 SQL。所以,在你的情况下,它会是这样的:
raw_results = Picture.objects.raw('''select * from Pictures
join GoldItemBranches
on Pictures.GoldItemID = GoldItemBranches.GoldItemID
and Pictures.GoldItemBranchID = GoldItemBranches.GoldItemBranchID''')
并迭代这个原始查询结果
for raw_result in raw_results:
print(raw_result)
添加回答
举报