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文件,我們定義好的模型已經導入到數據庫內了。
在這裏插入圖片描述

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