用于sqlalchemy的声明式查询生成器
filteralchem的Python项目详细描述
filteralchemy是用于sqlalchemy的声明性查询生成器。filteralchemy使用marshmallow-sqlalchemy自动生成筛选器字段,并使用webargs解析请求中的字段参数。使用它以最少的样板文件过滤数据
对于django用户,filteralchemy的设计灵感来自django-filter。
安装
pip install filteralchemy
快速启动
importflaskfrommodelsimportAlbum,sessionfromwebargs.flaskparserimportparserfromfilteralchemyimportFilterSetfromfilteralchemy.operatorsimportEqual,Less,GreaterclassAlbumFilterSet(FilterSet):classMeta:model=Albumquery=session.query(Album)operators=(Equal,Less,Greater)parser=parserapp=flask.Flask(__name__)@app.route('/albums')defget_albums():query=AlbumFilterSet().filter()returnflask.jsonify(query.all())
http :5000/albums artist==Queen genre==rock sales__gt==1000000