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)
博客排列效果, 按照最新时间发布的排序

浙公网安备 33010602011771号