本文介绍了无法执行不同的投影查询(&;#39;t)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的小"观察"类:
from google.appengine.ext import ndb
class Observation(ndb.Model):
remote_id = ndb.StringProperty()
dimension_id = ndb.IntegerProperty()
metric = ndb.StringProperty()
timestamp_observed = ndb.StringProperty()
timestamp_received = ndb.DateTimeProperty(auto_now_add=True)
@classmethod
def query_book(cls):
return cls.query()
我可以对数据存储运行投影查询,以仅返回某些列。例如:observations = Observation.query().fetch(projection=[Observation.dimension_id])
这工作得很好,但我只想要唯一的结果。documentation使这听起来很简单:
# 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()内。Projection元素实际上在FETCH()中工作,但是您需要将Projection和DISTINCT参数都移动到query()中才能使其工作。
发件人Grouping:
希望这对其他有类似问题的人有帮助:)
这篇关于无法执行不同的投影查询(&;#39;t)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!