flask-sqlalchemy的使用
Posted ttyypjt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask-sqlalchemy的使用相关的知识,希望对你有一定的参考价值。
1.安装
pip3 isntall flask-sqlalchemy
2.实例化一个sqlalchemy对象
from flask import Flask from flask_session import Session from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() # 因为是初始化数据库,所以操作要放在__init__.py文件中。 # manager.py文件中只需要执行app.run()启动flask即可。
3.初始化数据库表
# models.py文件 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column from sqlalchemy import Integer,String,Text,Date,DateTime from sqlalchemy import create_engine from day122 import db # 倒入刚才生成的sqlalchemy对象 class Users(db.Model): __tablename__ = ‘users‘ id = Column(Integer, primary_key=True) name = Column(String(32), index=True, nullable=False) # depart_id = Column(Integer) # __init__.py from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() from .models import * def create_app(): app = Flask(__name__) app.config.from_object(‘settings.ProdConfig‘) app.register_blueprint(ac) app.register_blueprint(user) # Session(app) db.init_app(app) return app # 这里from .models import *操作必须放在实例化sqlalchemy之后,因为该操作倒入的db模块里面使用了sqlalchemy对象。
4.手动创建数据库表
from mywork 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中获取配置
5.数据库表的迁移
依赖:flask-script
pip3 install flask-migrate
from flask_migrate import Migrate, MigrateCommand Migrate(app, db) """ # 数据库迁移命名 python manage.py db init python manage.py db migrate python manage.py db upgrade """ manager.add_command(‘db‘, MigrateCommand)
以上是关于flask-sqlalchemy的使用的主要内容,如果未能解决你的问题,请参考以下文章
FLASK-SQLALCHEMY如何使用or和and条件进行组合查询
Flask-SQLAlchemy:在回滚无效事务之前无法重新连接
如何在 Celery 任务中使用 Flask-SQLAlchemy