В SQLAlchemy я разделил запрос на подклассы для предварительной фильтрации моих запросов в соответствии с рецептом предварительной фильтрации: Запрос предварительной фильтрации
Но в некоторых случаях я хочу работатьвокруг предварительного фильтра, чтобы включить результаты, которые были отфильтрованы.Например, в Flask-SQLAlchemy есть метод в запросе, но я изо всех сил пытаюсь адаптировать его к моей обычной sqlachemy.
class QueryWithSoftDelete(BaseQuery):
def __new__(cls, *args, **kwargs):
obj = super(QueryWithSoftDelete, cls).__new__(cls)
with_deleted = kwargs.pop('_with_deleted', False)
if len(args) > 0:
super(QueryWithSoftDelete, obj).__init__(*args, **kwargs)
return obj.filter_by(deleted=False) if not with_deleted else obj
return obj
def __init__(self, *args, **kwargs):
pass
def with_deleted(self):
return self.__class__(db.class_mapper(self._mapper_zero().class_),
session=db.session(), _with_deleted=True)
https://blog.miguelgrinberg.com/post/implementing-the-soft-delete-pattern-with-flask-and-sqlalchemy
Как я могу включить эти результаты вмои запросы?