我想创建一个支持分页查询的方法
def page(cls, query, order, prev_str, next_str, count):我希望将排序作为参数传递给它。
在一些地方,我想使用相同的排序,而在其他地方,我想使用相反的排序。
我的问题是,当我将排序作为反向(-Obj.value)传递时,我不能在方法中再反转它了。应该是--Obj.value,它给出了
TypeError: bad operand type for unary -: 'PropertyOrder'有没有其他方法可以颠倒顺序?
也许来自PropertyOrder对象?在这种情况下,有没有办法从*Property创建PropertyOrder
order = -Obj.value具有类型PropertyOrder
order = Obj.value具有类型*Property
发布于 2018-02-02 10:34:29
为什么你不能这样做呢?
query1 = Account.query()
if order == 'desc':
query2 = query1.order(-Account.userid)
else:
query2 = query1.order(Account.userid)..。或者甚至使用GQL语法,您可以直接告诉它顺序:
...ORDER BY userid ASC请参阅:https://cloud.google.com/appengine/docs/standard/python/datastore/gqlreference#Syntax
更新
如果您试图在多页查询(使用游标)中间反转某些页面,请将经过光标的查询作为列表进行.fetch,然后在将其发送到浏览器之前对其执行list.reverse()操作。或者,在浏览器中使用javascript来变魔术。
https://stackoverflow.com/questions/48570634
复制相似问题