将字符串变量传递给gql查询

cli*_*ray 6 python google-app-engine gql google-cloud-datastore

我怎么在世界上用python将字符串变量传递给GQL?我可以在SQL中做得很好,但它只是不起作用.这就是我所拥有的:

personalposts = db.GqlQuery("select * from PersonalPost where user_id = %s order by created desc limit 30" % user_id)
Run Code Online (Sandbox Code Playgroud)

这一直在杀我,但我觉得应该很简单.

谢谢!

Ash*_*ary 8

这应该工作:

personalposts = db.GqlQuery("select * from PersonalPost where user_id =:1 order by created desc limit 30",user_id)
Run Code Online (Sandbox Code Playgroud)

GqlQuery 语法示例:

q = GqlQuery("SELECT * FROM Song WHERE composer = 'Lennon, John'")

q = GqlQuery("SELECT __key__ FROM Song WHERE composer = :1", "Lennon, John")

q = GqlQuery("SELECT * FROM Song WHERE composer = :composer", composer="Lennon, John")
Run Code Online (Sandbox Code Playgroud)

来源: https ://developers.google.com/appengine/docs/python/datastore/gqlqueryclass