SQLAlchemy:将字典转换为布尔表达式

时间:2019-07-01 21:59:30

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

0 个答案:

没有答案