美文网首页
falsk-sqlalchemy~学习

falsk-sqlalchemy~学习

作者: 阿猹在路上 | 来源:发表于2019-05-13 08:41 被阅读0次

    首先官方网址 http://www.pythondoc.com/flask-sqlalchemy/index.html

    (1)初始化 sqlalchemy 

    1:再单个应用当中初始化

    from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemy

    app = Flask(__name__)

    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'

    db = SQLAlchemy(app)

    2:在应用结构中初始化(利用模块当中的init_app(app))

    from flask import Flask

    from flask.ext.sqlalchemy import SQLAlchemy

    db = SQLAlchemy()

    def create_app():

        app = Flask(__name__)

        db.init_app(app)

        return app


    (2)配置数据库(采用mysql的话就必须要加上pynysql前提是安装这个包)

    SQLALCHEMY_DATABASE_URI ='mysql+pymysql://root:yjr19971210@localhost/flaskapp'


    Integer            一个整数String (size)有长度限制的字符串

    Text                  一些较长的 unicode 文本

    DateTime        表示为 Python datetime 对象的 时间和日期

    Float                存储浮点值

    Boolean            存储布尔值PickleType存储为一个持久化的 Python 对象LargeBinary存储一个任意大的二进制数据

    (4)数据库关系模型

    (5)增删改查

    1:插入记录

    向数据库插入数据分为三个步骤:

    创建 Python 对象

    把它添加到会话

    提交会话

    >>> fromyourappimportUser

    >>> me=User('admin','admin@example.com')

    >>> db.session.add(me)    提交会话,但是还没有保存在数据库当中

    >>> db.session.commit()    commit()保存到数据库当中

    2:删除记录(删除记录是十分类似的,使用 delete() 代替 add():)

    >>> db.session.delete(me)

    >>> db.session.commit()

    3:查询记录(使用query进行查询在使用 all() 或者 first() 发起查询之前可以使用方法 filter() 来过滤记录。如果您想要用主键查询的话,也可以使用 get()。不存在则返回none)

    >>> peter=User.query.filter_by(username='peter').first()

    >>> peter.id

    1

    >>> peter.emailu'peter@example.org'

    按某种规则对用户排序:

    >>> User.query.order_by(User.username)[<User u'admin'>, <User u'guest'>, <User u'peter'>]

    限制返回用户的数量:

    >>> User.query.limit(1).all()[<User u'admin'>]

    用主键查询用户:

    >>> User.query.get(1)<User u'admin'>

    3:在试图中进行查询

    可以使用 get_or_404() 来代替 get(),使用 first_or_404() 来代替 first()。这样会抛出一个 404 错误,而不是返回 None:这样的话回非常的方便,但是前提希望已经设置了404页面

    @app.route('/user/<username>')

    def show_user(username):

        user = User.query.filter_by(username=username).first_or_404()

        return render_template('show_user.html', user=user)

    4:删除数据库,创建数据库

    如 create_all()与drop_all()(但是会把先前的数据库都清空)

    所以跟新数据表的时候利用数据库迁移的操作进行(每当自己修改数据模型当中的主键或者内容的时候)

    利用flask-migrate迁移数据库 https://www.jianshu.com/p/08143e2ede33

    5:增加用户

    user = User(name='----',password='---')

    db.session.add(user)

    db.session.commit()

    (4)数据库分页(还没有用到,以后添加)

    (5)选择数据表

    __tablename__ = 'user'

    相关文章

      网友评论

          本文标题:falsk-sqlalchemy~学习

          本文链接:https://www.haomeiwen.com/subject/vfmkaqtx.html