GAE NDB Query返回具有各自引用对象属性的对象

时间:2014-02-17 03:19:22

标签: python google-app-engine app-engine-ndb

我简化了我的一些课程,User和Post。用户可以拥有[0,多个]帖子。

class User(ndb.model)
    name = ndb.StringProperty()
    avatarUrl = ndb.StringProperty()

class Post(ndb.Model):
    """ Model for storing user profile posts """
    postType = ndb.StringProperty()
    text = ndb.StringProperty()
    userId = ndb.StringProperty() #referencing User key
    createdAt = ndb.DateTimeProperty(auto_now_add=True)

我正在寻找一种方法:检索User x发布的所有Post对象。在单个查询中,是否有可能检索所有帖子对象及其各自用户的属性?

我现在拥有的伪代码: 1.发布查询,其中userId = x 2.对于每个返回的帖子,用户查询userId = post.userId 3.对于每个返回的帖子,union post属性和用户属性

这要求我对Post对象执行1次查询,对用户对象执行n次查询,我的python脚本正在进行n次合并。我知道有更好的方法。我探索在Post中使用ndb.KeyProperty而不是ndb.StringProperty(),但算法是相同的,似乎没有帮助。

最好的方法是什么?任何示例或文档的链接都会有所帮助。感谢

0 个答案:

没有答案