如何查询ndb中的一对多关系?

时间:2013-06-20 09:18:54

标签: google-app-engine google-cloud-datastore app-engine-ndb

class User(UserMixin, ndb.Model):
    email = ndb.StringProperty(required = True)
    password_hash = ndb.TextProperty(required = True)

class Record(ndb.Model):
    user = ndb.KeyProperty(kind=User)
    notes = ndb.TextProperty()

在Django中我也相信经典的GAE-db你会查询属于这个用户的记录:

user = "get user instance"
user.record_set.all()

但是在ndb中,这种方法会引发错误。 Documentation并未阐明这一点。

知道如何实现这一目标吗?感谢

1 个答案:

答案 0 :(得分:0)

经过一个多小时后,我终于偶然发现了cheatsheet。它很好地比较了经典db与ndb的功能。

根据备忘单,ndb中不再支持collection_set的概念,这是一种耻辱。我发现它更符合逻辑。

现在你必须这样做:

records = Record.query(Record.user == user.key)