Я использую Python EVE, EVE-SQLAlchemy, Flask, Flask-SQLAlchemy, SQLAlchemy и базу данных Postgres.
У меня все конечные точки API настроены, и они работают нормально.
Теперь я пытаюсь отфильтровать элементы, возвращаемые ресурсом some_model, чтобы он возвращал только элементы (GET), которые принадлежат определенному пользователю (пользователь, выполняющий запрос API) или имеют определенное имя ( префикс). Код SQlAlcehmy для выполнения этого приведен ниже:
session.query(SomeModel).filter(or_(SomeModel.name.like('SOMETHING_%'), SomeModel.account_id==1)).all()
Я просмотрел хуки до и после запроса, доступ к ресурсам, ограниченный пользователем, и все остальное, что я мог найти, но нигде не описывается, как применять настраиваемые фильтры ко (всем) запросам GET определенной конечной точки/ресурса.
Похоже на функциональность фильтра URL, но всегда включена и фильтруется на уровне базы данных, а не на уровне сериализации/ответа.