Mysql 使用queryset结果作为Django中原始sql的参数
我有一个查询集结果需要检索,我们称之为QSA,还有另一个查询集是通过原始SQL获得的,我们称这一个为QSB,但对于原始SQL(QSB),我只需要一个QSA字段作为参数,只有一个,但我不想只为该参数进行另一个查询Mysql 使用queryset结果作为Django中原始sql的参数,mysql,django,Mysql,Django,我有一个查询集结果需要检索,我们称之为QSA,还有另一个查询集是通过原始SQL获得的,我们称这一个为QSB,但对于原始SQL(QSB),我只需要一个QSA字段作为参数,只有一个,但我不想只为该参数进行另一个查询 我试图将此作为参数发送到QSB:QSA.values('pk'),但它不起作用,我得到了一个空结果,我尝试在Workbench上运行SQL查询,结果成功了(我使用的是MySql),所以我想问题在于我发送参数的方式。我找到了如何让它工作的方法。我尝试了%s和%(键)s占位符,但没有一个占位
我试图将此作为参数发送到QSB:
QSA.values('pk')
,但它不起作用,我得到了一个空结果,我尝试在Workbench上运行SQL查询,结果成功了(我使用的是MySql),所以我想问题在于我发送参数的方式。我找到了如何让它工作的方法。我尝试了%s
和%(键)s
占位符,但没有一个占位符使用QSA.values('pk')
作为参数,但后来%s
使用QSA.values_list('pk',flat=True)
就是这样,这就是在Django中将queryset结果作为原始sql查询的参数发送的方式。如果您找到了解决方案,可以发布您自己问题的答案。@Todor谢谢!我没注意到,哈哈。。。我总是编辑我的问题,从现在起我要自己回答。