3.8 定义第一个模型类以及反向生成
新建一个模块model,用于存储数据库表对应的业务模型,在编写model层的模型时,一定要忘记数据库表,重点要放在业务模型的抽象中来
sqlalchemy 是一个类库,用于根据定义的model反向生成数据库表
Flask_SqlAlchemy 是Flask在sqlalchemy基础上封装的一个组件。提供了更加人性化的API来操作数据库
pipenv 按照
pipenv install flask-sqlalchemy
1.编写模型类
from sqlalchemy import Column,Integer,String
class Book():
id = Column(Integer, primary_key=True, autoincrement=True)
title = Column(String(50), nullable=True)
author = Column(String(30), default="未名")
binding = Column(String(20))
publisher = Column(String(50))
price = Column(String(20))
pages = Column(Integer)
isbn = Column(String(15), nullable=True, unique=True)
summary = Column(String(1000))
image = Column(String(50))2.将模型映射到数据库中
1.在模型类中引入Flask_SqlAlchemy,并做相关声明
app/models/book.py
2.在app中插入Flask_SqlAlchemy对象
app/__init__.py
3.书写配置文件
app/secure.py
cysql驱动需要安装
上面的操作完成以后启动项目,会报如下错误
这是因为在Flask中,不是实例化了app核心对象,其他的代码就可以直接用到。所以在上面第二部create_all()方法中,应该将app传入
通过以上修改后,数据库中成功生成了数据库表
Last updated
Was this helpful?