gpt4 book ai didi

google-app-engine - 谷歌应用引擎 : ndb sort property

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:58 25 4
gpt4 key购买 nike

我有以下模型:

class Product(ndb.Model):
name = ndb.StringProperty()
bidTime = ndb.DateTimeProperty()
price = ndb.IntegerProperty()
...

我喜欢使用以下查询:

productRanks = Product.query(Product.bidTime>=startDate,
Product.bidTime<endDate).order(-Product.price).fetch()

其中 startDateendDate 是日期时间对象。但是我收到以下错误消息:

第一个排序属性必须与应用不等式过滤器的属性相同

如果我在订单中添加 Product.bidTime 则不会出现错误:

.order(Product.bidTime, -Product.price)

但是,排序的结果是错误的(根据日期,而不是价格)。那么,问题是什么?

最佳答案

就appengine而言没有问题。它的行为与记录的一样。来自文档

Note: Because of the way the App Engine Datastore executes queries, if a query specifies inequality filters on a property and sort orders on other properties, the property used in the inequality filters must be ordered before the other properties.

参见 https://developers.google.com/appengine/docs/python/datastore/queries#Sort_Orders

您可能需要在获得结果集后在内存中进行排序。

关于google-app-engine - 谷歌应用引擎 : ndb sort property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15336321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com