使用queryset结果作为Django中原始sql的参数

时间:2016-08-05 05:38:26

标签: mysql django

我有一个需要检索的查询集结果,我们称之为QSA,还有另一个由Raw SQL获取的查询集,让我们调用这个QSB,但是对于原始sql(QSB)我只需要一个字段QSA作为参数,只有一个参数,但我不想只为该参数进行anoter查询。

我尝试将此作为参数发送到QSB:QSA.values('pk')但是它不起作用,我获得了一个空结果,我试图在Workbench上运行SQL查询并且它有效(我正在使用MySql),所以我认为问题在于我发送参数的方式。

1 个答案:

答案 0 :(得分:0)

我想出了如何让它发挥作用。我尝试了%s%(key)s个占位符,但没有一个使用QSA.values('pk')作为参数,但后来%s使用了QSA.values_list('pk',flat=True),就是这样,就是这样可以在Django中将查询集结果作为原始sql查询的参数发送。