filteralchemy is a declarative query builder for SQLAlchemy. filteralchemy uses marshmallow-sqlalchemy to auto-generate filter fields and webargs to parse field parameters from the request.
pip install filteralchemy
import flask
from models import Album, session
from webargs.flaskparser import parser
from filteralchemy import FilterSet
class AlbumFilterSet(FilterSet):
class Meta:
model = Album
query = session.query(Album)
parser = parser
app = flask.Flask(__name__)
@app.route('/albums')
def get_albums():
query = AlbumFilterSet().filter()
return flask.jsonify(query.all())