简单整理SQLAlchemy中query中filter和filter_by的区别

  • SQLAlchemy中的query,有filter和filter_by两个函数,其中:

  • filter -》 column == expression
    • 传入参数的写法,要用:类名.列名 两个等号 去判断
    • 举例:
    • query(User.name).filter(User.fullname==’Ed Jones’)
    • 且更复杂的查询的语法,比如_and(),or_()等多个条件的查询,只支持filter
    • 举例:
    • query.filter(or_(User.name == ‘ed’, User.name == ‘wendy’))
    • query.filter(and_(User.name == ‘ed’, User.fullname == ‘Ed Jones’))
  • filter_by -》keyword = expression
    • 传入参数的写法,只需要用:(不带类名的)列名 单个等号 就可以判断。
    • -》filter中,语法更加贴近于,类似于,Python的语法。
    • 举例:
    • query(User.name).filter_by(fullname=’Ed Jones’)

你可能感兴趣的:(flask)