zoukankan      html  css  js  c++  java
  • CRUD

      需要的所有操作和检视数据的基础功能

    可以把session看作保存对数据库的改动的地方。

    user=User(usernmae='fake_name')

    db.session.add(user)

    db.session.commit()

    ------------------

    users=User.query.all()

    users

    -----------------

    users=User.query.limit(10).all()

    users=User.query.order_by(User.username).all()

    Users=User.query.order_by(User.username.desc()).all()

    -----------

    user=User.query.first()

    user.username

    --------------

    user=User.query.get(1)

    user.username

    -------

    这些函数都是可以链式调用的  也就是说 

    -------

    users=User.query.order_by(

       User.username.desc()

    ).limit(10).first()

    -----------

    MBTI

    ------------

    pagination(分页)

    可以可以用来替代first()   all()  专门用来设计用来实现分页功能的  大多数网站都会用 分页的方式来展示长列表

    返回的是pagination对象    而不是数据模型对象的 列表

    比如我们想得到前10个虚构的  Post对象 

    Post.query.pagination(1,10)

    page=User.query.pagination(1,10)

    返回这一页包含的数据对象

    page.items

    返回这一页的页数

    page.pages

    返回总页数

    上一页和下一页是否有对象可以显示

    page.has_prev,page.has_next

    ------------------

    返回上一页和下一页的pagintation对象

    如果不存在的话返回当前页

    page.prev()

    page.next()

    -----------

    条件查询

    ----------

    SQL最擅长的东西 就是根据一些条件的集合 获得过滤后的数据

    要得到  满足一系列条件的数据列表 

    query.filter_by过滤器

    ------

    users=Users.query.filter_by(username='fake_name').all()

    ----------

    users=Users.query.order_by(User.username.desc())

           .filter_by(username='fake_name')

      .limit(2)

       .all()

    ----------

    user=User.query.filter(

       User.id>1  

    ).all()

    --------

    整数  integers  字符串 strings

    日期  dates

      整数integer  浮点float

     日期date

    SQL   in   or  not的操作

    ------

    修改数据

    使用first()   all()

    等方法返回数据之前    调用update方法可以修改已存在数据的值

    User.query.filter_by(username='fake_name').update(

      {'password':'test'

    }

    )

    #对数据模型的修改已被自动加入session()中

    db.session.commit()

    ----------

    删除数据

    从数据库中删除一行数据

    ------------

    不要太认真嘛

    -----------

    user=User.query.filter_by(

    username='fake_ame'

    ).first()

    db.session.delete(user)

    db.session.commit()

    ---------------------

    数据模型之间的关联

    --------------

    模型之间可以互相建立引用

    每篇文章都有一个特定的作者

    通过把每个作者的文章跟这个作者相关联

    方便地获取这个作者的所有文章   一对多关系的一个范例-

    -------------

    lazy=

  • 相关阅读:
    openstack 介绍
    python实现图片批量剪裁的程序
    iOS开发多线程篇—GCD介绍
    block代码块介绍
    ios中的界面跳转方式
    NSNotificationCenter消息机制的介绍
    ios的手势操作之UIGestureRecognizer浅析
    collectionViewFlow的界面编写
    UITableView的简单应用介绍
    滚动视图创建
  • 原文地址:https://www.cnblogs.com/yizhixuepython/p/9507100.html
Copyright © 2011-2022 走看看