模型創建
①導入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數據插入報錯的解決方案
安裝mysql的驅動【mysql-connector】替換掉pymysql(當然這個報錯不會影響項目啓動也可以不管他)
pip install mysql-connector
數據庫的導入創建
在models文件的入口文件編寫創建
db.drop_all()
db.create_all()
運行models.py文件,我們定義好的模型已經導入到數據庫內了。