2

嗨,我对如何返回 StructuredProperty 属性(满嘴)感到困惑:

假设我有 ndb 教程中的这个例子:

class Address(ndb.Model):
  type = ndb.StringProperty() # E.g., 'home', 'work'
  street = ndb.StringProperty()
  city = ndb.StringProperty()

class Contact(ndb.Model):
  name = ndb.StringProperty()
  addresses = ndb.StructuredProperty(Address, repeated=True)

guido = Contact(name='Guido',
                addresses=[Address(type='home',
                                   city='Amsterdam'),
                           Address(type='work',
                                   street='Spear St',
                                   city='SF')])

guido.put()

我希望能够查询阿姆斯特丹市并让它返回“家”类型。

所以如果我做了查询:

Contact.query(Contact.address == Address(city='Amsterdam'))

我希望它回家。

4

1 回答 1

1

默认情况下,appengine 中的查询会返回整个实体。如果我理解正确,您只需要返回结构化属性的字段,而不是整个实体。

如果是这种情况,您需要阅读投影查询。

https://developers.google.com/appengine/docs/python/ndb/queries#projection

于 2013-05-01T23:17:33.943 回答