flask-数据库模型创建和导入

模型创建

①导入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 "<Comment %r>" % 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:[email protected]:3306/movie"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)

mysql数据插入报错的解决方案

1366报错
安装mysql的驱动【mysql-connector】替换掉pymysql(当然这个报错不会影响项目启动也可以不管他)

pip install mysql-connector

数据库的导入创建

在models文件的入口文件编写创建

db.drop_all()
db.create_all()

运行models.py文件,我们定义好的模型已经导入到数据库内了。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章