时间:2021-07-01 10:21:17 帮助过:7人阅读
注意:a.SQLAlchemy的实例化必须在导入蓝图之前
b.必须导入models.py --->储存ORM类
2、models.py
a.导入db
b.类必须继承db.Model
3、__init__.py中的create_app()方法中初始化
- db.init_app(app)
4、在配置文件中配置文件settings.py
- 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;">
- SQLALCHEMY_POOL_SIZE </span>= 10<span style="color: #000000;">
- SQLALCHEMY_MAX_OVERFLOW </span>= 5<span style="color: #000000;">
- SQLALCHEMY_TRACK_MODIFICATIONS </span>= False
5、models.py
- <span style="color: #0000ff;">from</span> sqlalchemy <span style="color: #0000ff;">import</span><span style="color: #000000;"> Column
- </span><span style="color: #0000ff;">from</span> sqlalchemy <span style="color: #0000ff;">import</span><span style="color: #000000;"> Integer,String
- </span><span style="color: #0000ff;">from</span> sqlalchemy <span style="color: #0000ff;">import</span><span style="color: #000000;"> create_engine
- </span><span style="color: #0000ff;">from</span> chun <span style="color: #0000ff;">import</span><span style="color: #000000;"> db
- </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Users(db.Model):
- </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;">
- id </span>= Column(Integer, primary_key=<span style="color: #000000;">True)
- name </span>= Column(String(32), index=True, nullable=<span style="color: #000000;">False)
- depart_id </span>= Column(Integer)
6、生成表(app上下文) 忽略,可以通过数据库迁移进行
离线脚本文件
- <span style="color: #0000ff;">from</span> 项目名称 <span style="color: #0000ff;">import</span><span style="color: #000000;"> db,create_app
- app </span>=<span style="color: #000000;"> create_app()
- app_ctx </span>= app.app_context() <span style="color: #008000;">#</span><span style="color: #008000;"> app_ctx = app/g</span>
- with app_ctx: <span style="color: #008000;">#</span><span style="color: #008000;"> __enter__,通过LocalStack放入Local中</span>
- db.create_all() <span style="color: #008000;">#</span><span style="color: #008000;"> 调用LocalStack放入Local中获取app,再去app中获取配置</span>
7、基于ORM的数据操作
使用的是threding.local
- <span style="color: #0000ff;">from</span> flask <span style="color: #0000ff;">import</span><span style="color: #000000;"> Blueprint
- </span><span style="color: #0000ff;">from</span> 项目名称 <span style="color: #0000ff;">import</span><span style="color: #000000;"> db
- </span><span style="color: #0000ff;">from</span> 项目名称 <span style="color: #0000ff;">import</span><span style="color: #000000;"> models
- 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;">)
- @ind.route(</span><span style="color: #800000;">‘</span><span style="color: #800000;">/index</span><span style="color: #800000;">‘</span><span style="color: #000000;">)
- </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> index():
- </span><span style="color: #008000;">#</span><span style="color: #008000;"> 使用SQLAlchemy在数据库中插入一条数据</span>
- <span style="color: #008000;">#</span><span style="color: #008000;"> db.session.add(models.Users(name=‘xx‘,depart_id=1))</span>
- <span style="color: #008000;">#</span><span style="color: #008000;"> db.session.commit()</span>
- <span style="color: #008000;">#</span><span style="color: #008000;"> db.session.remove()</span>
- <span style="color: #008000;">#</span><span style="color: #008000;"> 查看数据</span>
- result =<span style="color: #000000;"> db.session.query(models.Users).all()
- </span><span style="color: #0000ff;">print</span><span style="color: #000000;">(result)
- db.session.remove()
- </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