玩蛇网提供最新Python编程技术信息以及Python资源下载!

求能人解答python filter()和filter_by()区别是什么

SQLAlchemy 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()

用法不同而已,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')

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20435.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 20时18分22秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules