如果游标不支持列表切片,如何迭代查询结果 Flask-Mongoengine

问题描述

我正在制作一个待办事项列表应用程序,我想反转查询返回的列表,因为我希望最新的待办事项项目位于我收到的错误之上
IndexError: Cursor instances do not support slice steps
这是我的代码

def index():
    todos = Todo.objects.all()
    todos = todos[::-1]
    return render_template('index.html',todo=todos)

解决方法

你有日期时间字段吗?如果按 _id 排序,则将按插入时间排序。这基本上意味着比较不仅仅在时间戳部分上完成。假设您有一个日期字段,那么像这样的事情将使用 order_by 对结果集进行排序。

order_by 接受可变数量的字符串参数,这些参数是字段名称(在您的文档中定义),可选地以“-”开头(表示降序排序,即最高的在前)。

def index():
    todos = Todo.objects().order_by('-datetimeFieldOfYourTodoCreation')
    return render_template('index.html',todo=todos)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...