flask-sqlalchemy
Posted wt7018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask-sqlalchemy相关的知识,希望对你有一定的参考价值。
一、安装
pip3 install -i https://pypi.douban.com/simple flask-sqlalchemy
二、使用(文件结构blueprint)
1、__init__.py
# 导入并实例化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()方法中初始化
db.init_app(app)
4、在配置文件中配置文件settings.py
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8" SQLALCHEMY_POOL_SIZE = 10 SQLALCHEMY_MAX_OVERFLOW = 5 SQLALCHEMY_TRACK_MODIFICATIONS = False
5、models.py
from sqlalchemy import Column from sqlalchemy import Integer,String from sqlalchemy import create_engine from chun import db class Users(db.Model): __tablename__ = ‘users‘ id = Column(Integer, primary_key=True) name = Column(String(32), index=True, nullable=False) depart_id = Column(Integer)
6、生成表(app上下文) 忽略,可以通过数据库迁移进行
离线脚本文件
from 项目名称 import db,create_app app = create_app() app_ctx = app.app_context() # app_ctx = app/g with app_ctx: # __enter__,通过LocalStack放入Local中 db.create_all() # 调用LocalStack放入Local中获取app,再去app中获取配置
7、基于ORM的数据操作
使用的是threding.local
from flask import Blueprint from 项目名称 import db from 项目名称 import models ind = Blueprint(‘ind‘,__name__) @ind.route(‘/index‘) def index(): # 使用SQLAlchemy在数据库中插入一条数据 # db.session.add(models.Users(name=‘xx‘,depart_id=1)) # db.session.commit() # db.session.remove() # 查看数据 result = db.session.query(models.Users).all() print(result) db.session.remove() return ‘Index‘
以上是关于flask-sqlalchemy的主要内容,如果未能解决你的问题,请参考以下文章