为什么Django参数化查询不起作用

时间:2018-11-21 19:17:22

标签: django django-models

我一直在用django进行这个简单的查询。我已经通过互联网检查了很多。我尝试使用类似的语法-仍然没有运气。

在html页面上的应用程序中,我需要显示一些特定记录。为此,我想使用参数化的select语句。但是查询不起作用。

我检查过id2是否从上一个html页面获取了正确的值。

我知道我可以使用API​​,但是对于我的数据库类,我需要在应用程序中使用原始查询。

有人可以在这里帮我吗...

on run {targetBuddyPhone, targetMessage}
    tell application "Messages"
        send targetMessage to buddy targetBuddyPhone of service "SMS"
    end tell
end run

1 个答案:

答案 0 :(得分:0)

如果运行该代码,将会看到错误,因为这不是调用raw的正确格式。如果您在任何地方都看不到错误输出,则对于另一个帖子,您还有另一个问题。

raw的正确格式为:.raw(sql, iterable-values),如下所示:

posts = Posts.objects.raw("select * ..", [id2, ])  # or use (id2,) for a tuple
<RawQuerySet: select * from ... where id = 5>

要获取实际列表,因为它只给您一个查询,因此您需要以某种方式对其进行评估:

posts_list = list(posts)
first_post = posts[0]

请注意,如果您不评估QuerySet,则可以再次运行它。请先对其进行转换,然后再对其进行转换。