我要完成的SQL是-
SELECT jobmst_id, jobmst_name, jobdtl_cmd, jobdtl_params FROM jobmst
INNER JOIN jobdtl ON jobmst.jobdtl_id = jobdtl.jobdtl_id
WHERE jobmst_id = 3296
我只在django中成功地使用了一次annote和order_by,但我似乎无法让它在prefetch_related()或select_related()中工作
我的模特也是这样-
^{pr2}$我有一个非常简单的观点
# Test Query with Join
def test_queryjoin(request):
queryset = Jobmst.objects.filter(jobmst_id=3296).order_by('jobdtl_id')
queryresults = serializers.serialize("python", queryset, fields=('jobmst_prntid', 'jobmst_id', 'jobmst_prntname', 'jobmst_name', 'jobmst_owner', 'jobdtl_cmd', 'jobdtl_params'))
t = get_template('test_queryjoin.html')
html = t.render(Context({'query_output': queryresults}))
return HttpResponse(html)
我试过做很多事情-
查询集=Jobmst.objects.all().预取相关()
查询集=Jobmst.objects.all()。选择“相关”()
查询集=jobmst.objects.filter(jobmst_id=3296).order_by('jobdtl_id')
还有一些我忘了。在
每次我得到的json都只来自jobmst表,没有提到我想要的jobdtl结果。如果我走另一条路Jobdtl.objects.xxxxxxxxx同样的,它没有给我另一个模型的结果。在
为了重述一下,我想显示两个表中满足某个子句的字段。在
什么给予?在
好像我总是找错地方。从SQL开始,我一直在思考内部连接表,但这并不是如何工作的。我加入了模型的结果。在
因此,重新考虑我的搜索,我遇到了itertools和chain函数。在
我现在在我的视图.py在
它显示了每个表的结果,就像我在SQL中所希望的那样。现在我可以专注于过滤结果以得到我想要的。在
请记住,您需要的信息几乎总是在那里,只是知道如何查找的问题:)
你要找的可能是这个
您只需要一个查询就可以得到结果,您应该能够使用sort来处理这个问题。在
从SQL中你可能会发现一些很好的见解查询集.查询(django生成的SQL)在django shell中。在
相关问题 更多 >
编程相关推荐