Подтвердить что ты не робот

Фильтр по умолчанию SQLAlchemy

У меня есть модель с полем is_deleted, теперь я хочу, чтобы все формы запроса для этой модели всегда отфильтровывались с помощью is_deleted = False в дополнение к любым аргументам фильтрации, переданным в .filter и .filter_by.

В Django я обычно переопределяю менеджер и добавляю собственную фильтрацию, но мне нужна помощь для SQLAlchemy.

UPDATE:

Я закончил делать следующее:

class CustomQuery(Query):
    def __new__(cls, *args, **kwargs):
        if args and hasattr(args[0][0], "is_deleted"):
            return Query(*args, **kwargs).filter_by(is_deleted=False)
        else:
            return object.__new__(cls)
session = scoped_session(sessionmaker(query_cls=CustomQuery))

Это работает, но если у меня будет больше полей позже, я предполагаю, что мне придется добавить больше условий, должен быть способ сделать это на уровне модели.

4b9b3361