[ SQLAlchemy ] 经验总结、QA

1.filter 和 filter_by

[ 共同点 ]:查询后,用于过滤数据

[ 不同点 ]:

1.filter:过滤查询后的数据,用SQL表达式

session.query(MyClass).filter(MyClass.name == 'some name')

也可以查询多个条件

session.query(MyClass).\
    filter(MyClass.name == 'some name', MyClass.id > 5)

 

2.filter_by:过滤查询后的数据,用关键词表达式

session.query(MyClass).filter_by(name = 'some name')

 也可以查询多个条件

session.query(MyClass).\
    filter_by(name = 'some name', id = 5)

 

2.back_populates 和 backref 的区别

・back_populates 需要双边定义

・backref只需要定义在一边

文档说back_populates 是 backref 的新版,不知道这句话我有没有理解错。。。感觉双边定义更麻烦

详见官方:https://docs.sqlalchemy.org/en/13/orm/backref.html#relationships-backref

posted @ 2019-12-24 10:44  remly  阅读(309)  评论(0编辑  收藏  举报