sqlalchemy 排序方式 flask

第一种:直接在查询语句中使用order_by
现在就用第一种方法实现刚才所说(最新注册的用户的拍在前面),最新注册的也就是时间最大的。代码如下

results = session.query(User).order_by(User.create_time.desc()).all() 
print(results)
运行结果如下。

 

嗯,结果如我们所愿(时间按从大到小排列)。效果是实现了,还有没有其它法子(与此类似,在查询中实现排序)呢????答案是有,下面我们就试试另外一种法子。把表字段名作为字符串放在order_by里面就ok了,说干咱就干!

 

实例配置:

 

@app.route('/')
def get_all_posts():
    # result = db.session.execute(db.select(BlogPost))
    result = db.session.query(BlogPost).order_by(BlogPost.date.desc())
    # posts = result.scalars().all()
    posts = result.all()
    return render_template("index.html", all_posts=posts, current_user=current_user)

  

 

博客排列效果, 按照最新时间发布的排序

 

posted @ 2023-09-12 18:29  Oops!#  阅读(96)  评论(0编辑  收藏  举报