在SQLAlchemy中,我将查询子类化,以便根据预过滤方法对查询进行预过滤:Pre-Filtering Query
但在某些情况下,我想绕过预过滤器来包含过滤掉的结果。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
如何在查询中包含这些结果?在
目前没有回答
相关问题 更多 >
编程相关推荐