扫码关注官方订阅号
有人能给我解释以下么,看不出又什么区别呢?
走同样的路,发现不同的人生
用法不同而已,filter 可以像写 sql 的 where 条件那样写 > < 等条件,但引用列名时,需要通过 类名.属性名 的方式。 filter_by 可以使用 python 的正常参数传递方法传递条件,指定列名时,不需要额外指定类名。,参数名对应名类中的属性名,但似乎不能使用 > < 等条件。
各有所长吧。
http://docs.sqlalchemy.org/en/rel_0_7...
filter:
apply the given filtering criterion to a copy of this Query, using SQL expressions.e.g.: session.query(MyClass).filter(MyClass.name == 'some name')
filter_by:
apply the given filtering criterion to a copy of this Query, using keyword expressions.e.g.: session.query(MyClass).filter_by(name = 'some name')
感觉楼上的不是很对 filter指定列名的时候,可以不使用类名;filter_by也不是说任何时候都可以不指定类名 我平时使用的时候,两者区别主要就是当使用filter的时候条件之间是使用“==",fitler_by使用的是"="。 user1 = session.query(User).filter_by(id=1).first() user1 = session.query(User).filter(id==1).first()
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
用法不同而已,filter 可以像写 sql 的 where 条件那样写 > < 等条件,但引用列名时,需要通过 类名.属性名 的方式。 filter_by 可以使用 python 的正常参数传递方法传递条件,指定列名时,不需要额外指定类名。,参数名对应名类中的属性名,但似乎不能使用 > < 等条件。
各有所长吧。
http://docs.sqlalchemy.org/en/rel_0_7...
filter:
filter_by:
感觉楼上的不是很对
filter指定列名的时候,可以不使用类名;filter_by也不是说任何时候都可以不指定类名
我平时使用的时候,两者区别主要就是当使用filter的时候条件之间是使用“==",fitler_by使用的是"="。
user1 = session.query(User).filter_by(id=1).first()
user1 = session.query(User).filter(id==1).first()