Google app engine Can';t执行不同的投影查询
我有一节简单的“观察”课: 我可以对数据存储运行投影查询,以仅返回某些列。例如:Google app engine Can';t执行不同的投影查询,google-app-engine,google-cloud-datastore,app-engine-ndb,Google App Engine,Google Cloud Datastore,App Engine Ndb,我有一节简单的“观察”课: 我可以对数据存储运行投影查询,以仅返回某些列。例如: observations = Observation.query().fetch(projection=[Observation.dimension_id]) 这很好,但我只想要独特的结果。这听起来很简单: # Functionally equivalent Article.query(projection=[Article.author], group_by=[Article.author]) Article.
observations = Observation.query().fetch(projection=[Observation.dimension_id])
这很好,但我只想要独特的结果。这听起来很简单:
# Functionally equivalent
Article.query(projection=[Article.author], group_by=[Article.author])
Article.query(projection=[Article.author], distinct=True)
但当我这么做的时候:
observations = Observation.query().fetch(projection=[Observation.dimension_id], group_by=[Observation.dimension_id])
observations = Observation.query().fetch(projection=[Observation.dimension_id], distinct=True)
两种变体都有错误
TypeError: Unknown configuration option ('group_by')
TypeError: Unknown configuration option ('distinct')
这在本地主机和prod环境中都会发生。我缺少什么?愚蠢的我-所有这些参数都需要放在query()函数中,而不是fetch()中。投影元素实际上在fetch()中工作,但需要将投影参数和不同的参数都移动到query()中才能使其工作 发件人: 投影查询可以使用
distinct
关键字来确保
结果集中将返回完全唯一的结果。这将
仅返回具有相同值的实体的第一个结果
对于正在投影的属性
Article.query(projection=[Article.author], group_by=[Article.author])
Article.query(projection=[Article.author], distinct=True)
两个查询都是等效的,只会生成每个作者的姓名
一次
希望这能帮助其他有类似问题的人:)愚蠢的我-所有这些参数都需要放在query()函数中,而不是fetch()中。投影元素实际上在fetch()中工作,但需要将投影参数和不同的参数都移动到query()中才能使其工作 发件人: 投影查询可以使用
distinct
关键字来确保
结果集中将返回完全唯一的结果。这将
仅返回具有相同值的实体的第一个结果
对于正在投影的属性
Article.query(projection=[Article.author], group_by=[Article.author])
Article.query(projection=[Article.author], distinct=True)
两个查询都是等效的,只会生成每个作者的姓名
一次
希望这能帮助其他有类似问题的人:)