Declarative query builder for SQLAlchemy
Project description
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. Use it to filter data with minimal boilerplate.
For Django users: the design of filteralchemy is strongly inspired by django-filter.
Install
pip install filteralchemy
Quickstart
import flask
from models import Album, session
from webargs.flaskparser import parser
from filteralchemy import FilterSet
from filteralchemy.operators import Equal, Less, Greater
class AlbumFilterSet(FilterSet):
class Meta:
model = Album
query = session.query(Album)
operators = (Equal, Less, Greater)
parser = parser
app = flask.Flask(__name__)
@app.route('/albums')
def get_albums():
query = AlbumFilterSet().filter()
return flask.jsonify(query.all())
http :5000/albums artist==Queen genre==rock sales__gt==1000000
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
filteralchemy-0.1.0.tar.gz
(5.6 kB
view hashes)
Built Distribution
Close
Hashes for filteralchemy-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72a8f636a88094c5ac65accefcdf1b935af7baa13697399c5f049dc267539af5 |
|
MD5 | fcc18a71c5ff9c9fa586069823fa4d24 |
|
BLAKE2b-256 | 6df71a6205908834ac7249796dea17ecfa310595d4184b7be89db3ac047ee588 |