【问题标题】:Use queryset result as a parameter to a raw sql in Django在 Django 中使用查询集结果作为原始 sql 的参数
【发布时间】:2016-08-05 05:38:25
【问题描述】:

我有一个我需要检索的查询集结果,我们称之为 QSA,还有另一个由原始 SQL 获得的查询集,我们称之为一个 QSB,但对于原始 sql(QSB),我只需要一个字段QSA 作为参数,只有一个,但我不想只为那个参数做另一个查询。

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

【问题讨论】:

  • 如果您找到解决方案,您可以发布自己问题的答案。
  • @Todor 谢谢!我没注意到哈哈...我总是编辑我的问题,从现在开始我会回答自己。

标签: mysql django


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 2020-01-09
    • 1970-01-01
    • 2013-04-17
    • 2015-11-21
    • 2012-03-16
    相关资源
    最近更新 更多