【发布时间】:2016-02-06 18:55:18
【问题描述】:
我参照名为Office 的模型创建了一个名为Building 的模型。我想在 Proto REST Query (@Building.query_method ....) 中通过 OfficeID 过滤 Buildings
目前,我使用office_key 属性(需要输入Office 的实体密钥),但我想通过OfficeID 属性进行过滤。关于如何做到这一点的任何想法?
这是我迄今为止尝试过的:
class Building(EndpointsModel):
_message_fields_schema = ('id', 'name', 'office')
name = ndb.StringProperty(default=None, indexed=True)
office_key = ndb.KeyProperty(kind=Office, required=False)
def office_setter(self, value):
self.office_key = ndb.Key('Office', value.id)
@EndpointsAliasProperty(setter=office_setter, property_type=Office.ProtoModel())
def office(self):
return self.office_key.get()
class Office(EndpointsModel):
_message_fields_schema = ('id', 'name', 'created_date')
name = ndb.StringProperty(default=None, indexed=True)
created_date = ndb.DateTimeProperty(auto_now_add=True)
@Building.query_method(query_fields=('limit', 'order', 'pageToken', 'office_key'), path='buildings', name='list')
def List(self, query):
return query
【问题讨论】:
标签: python google-app-engine google-cloud-endpoints endpoints-proto-datastore