我想创建一个自定义方法来告诉我数据库中是否存在行。SQLAlchemy exists
方法返回子查询,但不执行任何操作,所以我想创建does_exist
方法,该方法只返回True
或False
。下面是我的代码:
from flask_sqlalchemy import SQLAlchemy, BaseQuery, Model
class CustomBaseQuery(BaseQuery):
def does_exist(self):
return db.session.query(self.exists()).scalar()
db = SQLAlchemy(app, query_class=CustomBaseQuery)
这实际上是可行的,但是在方法体中引用db.session
似乎是错误的,因此这取决于稍后将SQLAlchemy实例命名为db
。我想找到一种更通用的方式来引用最终的db.session
对象。
完整的工作示例如下:https://gist.github.com/wbruntra/3db7b630e6ffb86fe792e4ed5a7a9578
https://stackoverflow.com/questions/50620180
复制相似问题