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