flask拆分数据库模型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38125866/article/details/82749053
  • 为何要拆分数据库模型?
    如果将所有模型写在一个py文件中,model过多的话不方便管理,且有些关联性不强,没必要挤在一起。

  • 如果仅仅是简单的将model分开几个文件写的话,因为flask的机制,会面临很多问题。

  • 如何合理的拆分model.
    在这里插入图片描述

  • 项目目录结构:

  • 在这里插入图片描述

  • 首先实现一个基类


#_*_coding:utf-8_*_
'''
>author:classmate Lin

>email:[email protected] 

>create_time:2018.09.17

'''
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class Base(db.Model):
    __abstract__ = True
	

	#这里可以实现需要的功能。
  • 子类继承基类
#_*_coding:utf-8_*_
'''
>author:classmate Lin
>>email:[email protected] 
>create_time:2018.09.16
'''

from app.models.base import Base, db

class User(Base):
    id = db.Column(Integer, primary_key=True)
    nickname = db.Column(String(24), nullable=False)
  • 注册db的函数
#_*_coding:utf-8_*_
'''
>author:classmate Lin
>>email:[email protected] 
>create_time:2018.09.16
'''

def register_db(app):
    db.init_app(app)
    with app.app_context():
        db.create_all()
  • 在创建app的工厂函数中调用register_db即可。
def create_app():
    app = Flask(__name__)
    register_db(app)
    return app

app = create_app()
app.run(host='0.0.0.0')

猜你喜欢

转载自blog.csdn.net/weixin_38125866/article/details/82749053