python - Sqlalchemy:将字典转换为布尔表达式
问题描述
我有以下 sqlalchemy 模型:
class Person(Base):
__tablename__ = "Person"
id = Column(Integer, primary_key=True)
name = Column(String(100), nullable=False, unique=True)
def __repr__(self):
return f"<Person: {self.name}>"
给定模型和一些数据作为字典,我想确定该记录是否存在于我的数据库中。我知道我可以做到以下几点:
model = Person
data = {"name": "Johnny"}
db_object = session.query(model).filter_by(**data).one()
我也希望能够使用filter
链条来做到这一点。没有变量,它看起来像这样:
db_object = session.query(Person).filter(Person.name == "name").one()
我的问题是:如何将字典转换{"name": "Johnny"}
为Person.name == "name"
?然后我应该能够将其传递给过滤器并获得相同的结果。
解决方案
推荐阅读
- mysql - MariaDB SELECT 使用了索引,但看起来像表扫描
- angular - Angular firestore - 在查询集合中的数组后从同一属性字段获取所有数据
- javascript - 单元测试没有任何意义
- javascript - 在谷歌脚本的电子表格中获取所选下拉列表的值
- zap - 提取在 Jenkins 代理上的容器中运行的 ZAP 报告(基于 docker)
- vue.js - 使用 vue 和 axios 从 API 数据中获取每个对象
- javascript - 只执行一次“onscroll”功能
- reactjs - 扩展 React.Component 与扩展组件
- r - 在 Mac Catallina 上安装 RMySQL 包
- javascript - 在一行上重命名导入数组的键(很像解构)