API Reference

Filters

class filteralchemy.filters.Filter(field=None, attr=None, label=None, operator=<class 'filteralchemy.operators.Equal'>)[source]

Base filter.

Parameters:
  • field (Field) – Field to deserialize filter parameter

  • attr (str) – Model attribute name

  • label (str) – Lookup key on input dictionary

  • operator – Operator or filter callable

Filterset

class filteralchemy.filterset.FilterSet(query=None)[source]

Example usage:

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

query = AlbumFilterSet().filter()
Parameters:

query – Optional SQLAlchemy query; if not provided, use query defined on options class

class Meta[source]

Available options:

  • model: SQLAlchemy model class

  • query: Query on model

  • fields: Sequence of model field names to include, or a callable that

accepts a FilterSet subclass and returns a sequence of fields - exclude: Tuple or list of model field names to exclude, or a callable that accepts a FilterSet subclass and returns a sequence of fields - list_class: List field class; defaults to List - converter: ModelConverter instance; defaults to ModelConverter() - operators: Tuple or list of Operator classes - default_operator: Default operator; non-default operators will include

operator labels in auto-generated filter names

  • formatter: Callable for building names of auto-generated filters

  • column_overrides: Dictionary mapping column names to operator and field overrides

  • parser: Webargs request parser

filter()[source]

Generate a filtered query from request parameters.

Returns:

Filtered SQLALchemy query