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)
两个查询都是等效的,只会生成每个作者的姓名 一次

希望这能帮助其他有类似问题的人:)