NDB - 查询属性的重复结构化属性

时间:2017-03-28 00:42:52

标签: python-2.7 google-app-engine

我有两种模式:

class Author(ndb.Model):
    email = ndb.StringProperty(indexed=true)

class Course(ndb.Model):
    student = ndb.StructuredProperty(Author, repeated=True)

我正在尝试查询课程,以查找学生的电子邮件与user.email_address的电子邮件的匹配位置。是否可以将其构建为单个查询?

1 个答案:

答案 0 :(得分:2)

您必须使用Author对象作为过滤器进行查询

query = Course.query(Course.student.email == 'my@email.com')

但是,只有在查询单个属性时,此查询才是正确的。官方文档建议使用以下过滤器

query = Course.query(Course.student == Student(email='my@email.com'))

有关详细信息,请参阅https://cloud.google.com/appengine/docs/standard/python/ndb/queries#filtering_structured_properties