①导入SQLAlchemy
from flask_sqlalchemy import SQLAlchemy
②生成数据库访问对象db
db = SQLAlchemy
③定义表对象
class Comment(db.Model):
__tablename__ = "comment"
id = db.Column(db.Integer, primary_key=True) # 编号
content = db.Column(db.Text) # 评论内容
movie_id = db.Column(db.Integer, db.ForeignKey('movie.id')) # 电影id
user_id = db.Column(db.Integer, db.ForeignKey('user.id')) # 用户id
addtime = db.Column(db.DateTime, index=True, default=datetime.now) # 添加时间
def __repr__(self):
return "" % self.id
主键用primary_key标识
外键用db.ForeignKey(‘movie.id’)标识,参数为关联的表和字段。在这边做了标记之后需要到对于的表模型中做对于的外键关联。
comments = db.relationship("Comment", backref='movie') # 评论外键关联
数据库的连接
1、首先安装python使用的mysql驱动,一般使用的是pymysql
2、导入驱动库到项目中
3、编写python SQLAlchemy连接
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://user:pwd@127.0.0.1:3306/movie"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
mysql数据插入报错的解决方案
安装mysql的驱动【mysql-connector】替换掉pymysql(当然这个报错不会影响项目启动也可以不管他)
pip install mysql-connector
数据库的导入创建
在models文件的入口文件编写创建
db.drop_all()
db.create_all()
运行models.py文件,我们定义好的模型已经导入到数据库内了。