Python-SQLAlchemy的ORM(2)

2019-12-31  本文已影响0人  木叶苍蓝

来源:本文章摘抄于《知了课堂》,本人也是知了课堂的学生

相关

Python-SQLAlchemy介绍和基本使用
Python-SQLAlchemy(1)
Python-SQLAlchemy(2)
Python-SQLAlchemy(3)
Python-SQLAlchemy(4)
Python-SQLAlchemy(5)

Column 常用参数:

sqlalchemy常用数据类型

query可用类型

  1. 模型对象:指定查找这个模型中所有对象
  2. 模型中的属性:可以指定只查找某一个模型的其中几个属性
  3. 聚合函数:
    • func.count():总数
    • func.avg():求平均值
    • func.max():求最大值
    • func.min():求最小值
    • func.sum():求和

过滤条件:

过滤是数据提取的一个很重要的功能,以下对一些常用的过滤条件进行解释,并且这些过滤条件都是只能通过 filter 方法实现的:

    query.filter(User.bane == 'ed') 
    query.filter(User.name != 'ed')
    query.filter(User.name.like('%ed%')
    query.filter(User.name.in_(['ed', 'weny', 'jack']))
    # 同时,in 也可以作用于一个Query
    query.filter(User.name.in_(session.query(User.name).filter(User.name.like('%ed%'))))
    query.filter(~User,name.in_(['ed', 'wendy', 'jack']))
    query.filter(User.name==None)
    # 或者是
    query.filter(User.name.is_(None))
    from sqlalchemy import and_
    query.filter(and_(User.name=='ed', User.fullname=='Ed Jones'))
    # 或者传递多个参数
    query.filter(User.name == 'ed', User.fullname=='Ed Jones')
    # 或者是通过多次 filter 操作
    query.filter(User.name=='ed').filter(User.fullname=='Ed Jones')
    from sqlalchemy import or_
    query.filter(or_(User.name=='ed', User.name=='wendy'))
上一篇 下一篇

猜你喜欢

热点阅读