当前位置:Gxlcms > 数据库问题 > flask-sqlalchemy

flask-sqlalchemy

时间:2021-07-01 10:21:17 帮助过:7人阅读

导入并实例化SQLAlchemy from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()

注意:a.SQLAlchemy的实例化必须在导入蓝图之前

      b.必须导入models.py --->储存ORM类

2、models.py

a.导入db

b.类必须继承db.Model

3、__init__.py中的create_app()方法中初始化

  1. db.init_app(app)

4、在配置文件中配置文件settings.py

  1. SQLALCHEMY_DATABASE_URI = <span style="color: #800000;">"</span><span style="color: #800000;">mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8</span><span style="color: #800000;">"</span><span style="color: #000000;">
  2. SQLALCHEMY_POOL_SIZE </span>= 10<span style="color: #000000;">
  3. SQLALCHEMY_MAX_OVERFLOW </span>= 5<span style="color: #000000;">
  4. SQLALCHEMY_TRACK_MODIFICATIONS </span>= False

5、models.py

  1. <span style="color: #0000ff;">from</span> sqlalchemy <span style="color: #0000ff;">import</span><span style="color: #000000;"> Column
  2. </span><span style="color: #0000ff;">from</span> sqlalchemy <span style="color: #0000ff;">import</span><span style="color: #000000;"> Integer,String
  3. </span><span style="color: #0000ff;">from</span> sqlalchemy <span style="color: #0000ff;">import</span><span style="color: #000000;"> create_engine
  4. </span><span style="color: #0000ff;">from</span> chun <span style="color: #0000ff;">import</span><span style="color: #000000;"> db
  5. </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Users(db.Model):
  6. </span><span style="color: #800080;">__tablename__</span> = <span style="color: #800000;">‘</span><span style="color: #800000;">users</span><span style="color: #800000;">‘</span><span style="color: #000000;">
  7. id </span>= Column(Integer, primary_key=<span style="color: #000000;">True)
  8. name </span>= Column(String(32), index=True, nullable=<span style="color: #000000;">False)
  9. depart_id </span>= Column(Integer)

6、生成表(app上下文) 忽略,可以通过数据库迁移进行

离线脚本文件

  1. <span style="color: #0000ff;">from</span> 项目名称 <span style="color: #0000ff;">import</span><span style="color: #000000;"> db,create_app
  2. app </span>=<span style="color: #000000;"> create_app()
  3. app_ctx </span>= app.app_context() <span style="color: #008000;">#</span><span style="color: #008000;"> app_ctx = app/g</span>
  4. with app_ctx: <span style="color: #008000;">#</span><span style="color: #008000;"> __enter__,通过LocalStack放入Local中</span>
  5. db.create_all() <span style="color: #008000;">#</span><span style="color: #008000;"> 调用LocalStack放入Local中获取app,再去app中获取配置</span>

7、基于ORM的数据操作

使用的是threding.local

  1. <span style="color: #0000ff;">from</span> flask <span style="color: #0000ff;">import</span><span style="color: #000000;"> Blueprint
  2. </span><span style="color: #0000ff;">from</span> 项目名称 <span style="color: #0000ff;">import</span><span style="color: #000000;"> db
  3. </span><span style="color: #0000ff;">from</span> 项目名称 <span style="color: #0000ff;">import</span><span style="color: #000000;"> models
  4. ind </span>= Blueprint(<span style="color: #800000;">‘</span><span style="color: #800000;">ind</span><span style="color: #800000;">‘</span>,<span style="color: #800080;">__name__</span><span style="color: #000000;">)
  5. @ind.route(</span><span style="color: #800000;">‘</span><span style="color: #800000;">/index</span><span style="color: #800000;">‘</span><span style="color: #000000;">)
  6. </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> index():
  7. </span><span style="color: #008000;">#</span><span style="color: #008000;"> 使用SQLAlchemy在数据库中插入一条数据</span>
  8. <span style="color: #008000;">#</span><span style="color: #008000;"> db.session.add(models.Users(name=‘xx‘,depart_id=1))</span>
  9. <span style="color: #008000;">#</span><span style="color: #008000;"> db.session.commit()</span>
  10. <span style="color: #008000;">#</span><span style="color: #008000;"> db.session.remove()</span>
  11. <span style="color: #008000;">#</span><span style="color: #008000;"> 查看数据</span>
  12. result =<span style="color: #000000;"> db.session.query(models.Users).all()
  13. </span><span style="color: #0000ff;">print</span><span style="color: #000000;">(result)
  14. db.session.remove()
  15. </span><span style="color: #0000ff;">return</span> <span style="color: #800000;">‘</span><span style="color: #800000;">Index</span><span style="color: #800000;">‘</span>

 

flask-sqlalchemy

标签:text   密码   column   red   create   ima   orm   install   als   

人气教程排行