flask and flask_sqlalchemy and flask_apscheduler

Posted 叶常落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask and flask_sqlalchemy and flask_apscheduler相关的知识,希望对你有一定的参考价值。

todo

flask

flask add_url_rule vs @app.route()
g
request

app.app_context

sqlalchemy

db.create_all() can create table
db.drop_all() can delete table

sql

flask sqlalchemy execute raw sql
db.engine.execute()
what is db.session
db.session.add
db.session.commit

apscheduler

how to use it?

FLASK-SQLALCHEMY如何使用or和and条件进行组合查询

FLASK-SQLALCHEMY如何使用or和and条件进行组合查询

http://www.cherishlau.site/2018/03/29/flask-sqlalchemy-use-or-and/

最近用Flask开发的一个工作管理系统,数据库使用的ORM 框架是Flask-SQLAlchemy,Flask-SQLAlchemy使用起来简洁方便,基本的使用在官方文档上面都可以查到,但我在用filter的时候遇到了一些问题。

 

在FLASK-SQLALCHEMY 的FILTER中如何使用OR和AND来组合多种条件查询?

查找文档的时候并没有找到相关的描述,后来经过多次尝试,发现可以这样写:

首先要Import相关的库

from flask_sqlalchemy import SQLAlchemy

from sqlalchemy import or_,and_

然后定义filter:

task_filter = {
  or_(
   and_(
    Task.task_department == current_user.user_department,
    Task.task_commit_status > 0,
    Task.task_complete_time >= prev,
   ),
   and_(
    Task.task_complete_time >= prev,
    Task.task_members.like(‘%,‘+str(current_user.user_id)+‘,%‘),
   )
 )
}

上面这个filter中有两个条件组,关系为or,每个条件组里有一些and关系的条件。

filter定义完之后就可以进行查询了:

Task.query.filter(*task_filter).all()

以上是关于flask and flask_sqlalchemy and flask_apscheduler的主要内容,如果未能解决你的问题,请参考以下文章

python tornado_and_flask.py

HTTP and Flask Basics - HTTP Responses

上海Flask and the press酒吧

Flask Speakeasy Reopens, and With a New Bao Bar Out Front

设计欣赏 上海 Flask and the press 酒吧

Flask speakeasy has a sandwichery out front and it's ridiculous