我有以下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"
?然后,我应该可以将其传递给过滤器并获得相同的结果。