python - 带有可选解决方法的 SQLAlchemy 预过滤查询
问题描述
在 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
如何在我的查询中包含这些结果?
解决方案
推荐阅读
- javascript - 将 3 个键的对象转换为数组
- c++ - 共同显着差异数
- javascript - jquery动态变化
- jmeter - Jmeter 请求和报告验证
- javascript - digitalocean ubuntu 服务器电子邮件未发送
- python - 如何使用保存的文本分类模型对新的文本数据集进行预测
- jenkins - 每天凌晨 2 点安排 Jenkins 构建,周日除外。周日应该在上午 10 点触发
- android - 隐藏软键板未知错误。我究竟做错了什么?
- javascript - 有没有办法用变量中的 id 分配 href?
- django - Django 中的内存泄漏与 Gunicorn 和 max-requests 已经设置