1. 程式人生 > >簡單整理SQLAlchemy中query中filter和filter_by的區別

簡單整理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’)