数据存储区按最新日期查询排序顺序

时间:2018-01-02 01:12:08

标签: python google-app-engine google-cloud-datastore

我已阅读有关如何执行此操作的文档,但它无效。我试图让我的查询首先按日期排序,但这不起作用:

wrQuery = WorkRequest.query()
wrQuery.order('-date')
wrResult = wrQuery.fetch()

我也试过('-WorkRequest.date'),但两者都会导致类似的错误:

  

TypeError:order()需要一个Property或query Order;收到' -date'

2 个答案:

答案 0 :(得分:1)

查询对象是不可变的,第3个语句引用第1个语句中的对象,而不是第2个语句中创建的有序语句。另请参阅NDB Query builder doesn't work as expected

这应该起作用:

 wrQuery = WorkRequest.query()
 wrOrderedQuery = wrQuery.order('-WorkRequest.date')
 wrResult = wrOrderedQuery.fetch()

答案 1 :(得分:0)

这看起来像是在使用NDB而不是DataStore,在这种情况下,docs会明确地告诉您如何使用它。这应该有效:

wrQuery = wrQuery.order(-WorkRequest.date)