常用的filter操作符

下面的这些操作符可以应用在filter函数中

  • equals:
query.filter(User.name == 'ed')
  • not equals:
query.filter(User.name != 'ed')
  • LIKE:
query.filter(User.name.like('%ed%'))
  • IN:
query.filter(User.name.in_(['ed', 'wendy', 'jack']))

# works with query objects too:
query.filter(User.name.in_(
session.query(User.name).filter(User.name.like('%ed%'))
))
  • NOT IN:
query.filter(~User.name.in_(['ed', 'wendy', 'jack']))
  • IS NULL:
query.filter(User.name == None)

# alternatively, if pep8/linters are a concern
query.filter(User.name.is_(None))
  • IS NOT NULL:
query.filter(User.name != None)

# alternatively, if pep8/linters are a concern
query.filter(User.name.isnot(None))
  • AND:
# use and_()
from sqlalchemy import and_
query.filter(and_(User.name == 'ed', User.fullname == 'Ed Jones')) # or send multiple expressions to .filter()
query.filter(User.name == 'ed', User.fullname == 'Ed Jones') # or chain multiple filter()/filter_by() calls
query.filter(User.name == 'ed').filter(User.fullname == 'Ed Jones')
  • OR:
from sqlalchemy import or_
query.filter(or_(User.name == 'ed', User.name == 'wendy'))
  • MATCH:
query.filter(User.name.match('wendy'))

作者:治部少辅
链接:https://www.jianshu.com/p/8d085e2f2657
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最新文章

  1. ZOJ 3481. Expand Tab
  2. AngularJs自定义指令详解(7) - multiElement
  3. 使用Maven自动部署Tomcat 6和Tomcat 7下Web应用
  4. NOIP2016初赛总结(提高组)
  5. 超详细cordova环境配置(windows)及实例
  6. XAF应用开发教程(六)控制器
  7. STM8s在利用库配置端口的小问题
  8. java 判断两个数是否异号
  9. Activity的活动周期
  10. SwfUpload vs里运行可以上传文件,放到iis上上传就报404错误。
  11. java操作oracle空间信息介绍
  12. CSS表单属性
  13. Flex 布局实例
  14. CODEFORCES 25E Test
  15. 小程序实践(二):swiper组件实现轮播图效果
  16. 同时装了Python3和Python2,怎么用pip
  17. Sqoop学习之路 (一)
  18. [转] HTML5中meta属性的使用详解
  19. [CC-FNCS]Chef and Churu
  20. Visual C++中去除警告

热门文章

  1. GIT URI
  2. [51nod1094]和为k的连续区间
  3. [HDU1711]KMP模板
  4. Spring的@value注解
  5. sklearn解决过拟合的例子
  6. JavaScript正则表达式应用---replace()
  7. 项目中gulp使用发生的错误及解决
  8. 7. IIS短文件/文件夹漏洞(汇总整理)
  9. win7 64位安装nokia 920驱动
  10. 关闭QtCreator的vim风格编辑模式