模型

模型定义

  • 安装: pip install flask-sqlalchemy
  • 定义模型
  • 配置
    • 连接MySQL数据:app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘mysql+pymysql://root:123456@127.0.0.1:3306/flask7’
    • app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = False
    • 初始化: db.init_app(app)

迁移

  • 创建: db.create_all()
  • 删除: db.drop_all()

对数据库的操作

  • 使用flask_sqlalchemy的session会话,db.session.add(对象) db.session.commit()
  • db.session.add_all(对象列表) db.session.commit()

  • db.session.delete(对象) db.session.commit()

  • db.session.add(对象) db.session.commit()
  • 注意: db.session.add(对象)这句话可写可不写

filter:模型.query.filter(模型.字段 ==)
filter_by: 模型.query.filter_by(字段 =)
get: 获取主键所在行的数据:  模型.query.get(主键值)
all:
    - 查询所有结果,返回结果为列表
    - 模型.query.all()
order_by:
    - 升序:模型.query.order_by('字段')/模型.query.order_by('字段 asc')
    - 降序:模型.query.order_by('-字段')/模型.query.order_by('字段 desc')
offset/limit:模型.query.offset(跳过几条数据).limit(截取几条数据)
first: 
    获取第一个: 模型.query.filter_by().first()
模糊查询:
    contains: 模型.query.filter(模型.字段.contains())
    startswith: 模型.query.filter(模型.字段.startswith())
    endswith: 模型.query.filter(模型.字段.endswith())
    like: _ 占位 / %通配符 / 
        模型.query.filter(模型.字段.like('_值%')
in_: 范围之内: 模型.query.filter(模型.字段.in_([1,2,3,4,5]))
比较:gt大于/ge大于等于/lt小于/le小于等于
    模型.query.filter(模型.字段.__gt__(21))
    模型.query.filter(模型.字段 >)
与或非:
    - from sqlalchemy import and_,not_, or_
    -: 模型.query.filter(and_(条件1,条件2,条件3))
    -: 模型.query.filter(or_(条件1,条件2,条件3))
    -: 模型.query.filter(not_(条件1))

分页:
    - 查询: pg = 模型.query.paginate(哪一页, 每一页的数据条数)
    - 获取数据: pg.items
    - 上一页判断: pg.has_prev
    - 上一页脚码: pg.prev_num
    - 下一页判断: pg.has_next
    - 下一页脚码: pg.next_num
    - 共多少页: pg.pages
    - 当前页: pg.page
    - 共多少数据: pg.total
    - 脚码: pg.iter_pages()


  转载请注明: 微笑看你 模型

 上一篇
models2 models2
一对多模型定义 外键ForeignKey定义在’多’的一方 relationship字段定义在’一’的一方 backref参数: 反向引用的关联关系 查询 一查多:’一’的对象.relationship字段 多查一:’多’的对象.ba
2018-10-16
下一篇 
Python Python
学习是一件庄严而又神圣的事情,贵在坚持 不断地积累,才能体会到其中的乐趣 Python第1天 前端页面 = 标签(内容) + CSS(显示) + JavaScript(行为) JavaScript = ECMAScript + BOM(wi
2018-10-15
  目录