微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

组织 SQLAlchemy 查询函数

如何解决组织 SQLAlchemy 查询函数

关于如何最好地组织 sqlAlchemy 模型上的查询功能我有一个广泛的问题。你会经常在 sqlAlchemy 教程中看到这样的东西:

class Person(Base):
    id = Column(Integer,primary_key=True)
    name = Column(String)
    address = Column(String)
    
    ...

session = ...
people_with_condition = session.query(Person).filter(...).all()

我有一个包需要对模型进行许多不同的复杂查询。有没有最好的方法来组织这些查询(即不使用您在教程中经常看到的这些独立语句)?假设用户想要满足 Person 的所有 self.name=="Bob" 对象。他们当然可以直接运行:

all_bobs = session.query(Person).filter(name=="Bob").all()

但是对于不想学习 sqlAlchemy 的用户,我可以写:

def people_by_name(name):
    return session.query(Person).filter(name==name).all()

这当然是一个愚蠢的例子,因为查询很简单。但是在我的包中,查询会更复杂,我不希望用户担心 sqlAlchemy。这是一个方法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。