Предварительно фильтрованный запрос SQLAlchemy с необязательным обходным решением - PullRequest
0 голосов
/ 07 июня 2018

В 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

Как я могу включить эти результаты вмои запросы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...