Edit2:啊,用于数据查看器的原始 GQL ......
这是一种方法:
1)运行它并获取ID号:
SELECT * FROM Author where name = 'shakespeare'
2) 使用之前查询中的 ID 号,运行以下命令:
SELECT * FROM Story where author = key('Author', 12345)
编辑:最后,原始 GQL:(
最简单的方法:使用隐式反向引用属性名称;以“modelname_set”的形式。)
qry = GqlQuery("SELECT * FROM Author WHERE name = :1", "shakespeare")
shakespeare = qry.get()
shakespeare.story_set # this property now contains all Shakespeare's stories
或者
qry0 = GqlQuery("SELECT * FROM Author WHERE name = :1", "shakespeare")
shakespeare = qry0.get()
qry1 = GqlQuery("SELECT * FROM Story WHERE author = :1", shakespeare.key())
shakespeare_stories = qry1.fetch(10) # probably good to have some limit here
我更喜欢这种方式:
qry = Author.all()
qry.filter('name = ', 'shakespeare')
shakespeare = qry.get()
shakespeare.story_set # this property now contains all Shakespeare's stories
有时可能需要更复杂的方式:
qry0 = Author.all()
qry0.filter('name = ', 'shakespeare')
shakespeare = qry0.get()
qry1 = Story.all()
qry1.filter('author = ', shakespeare.key())
shakespeare_stories = qry1.fetch(10) # probably good to have some limit here