flask_sqlalchemy的使用中的坑
首先是配置问题
class BaseConfig(object):
SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://root:123456@127.0.0.1:3306/flaskpro?charset=utf8mb4'
SQLALCHEMY_POOL_SIZE = None
SQLALCHEMY_POOL_TIMEOUT = None
SQLALCHEMY_POOL_RECYCLE = -1
# 追踪对象的修改并且发送信号
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_COMMIT_TEARDOWN = True
使用mysql+pymysql会弹出警告
Warning: (1366, "Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' for column 'VARIABLE_VALUE' at row 1")result = self._query(query)
charset=utf8也会报警告, 因为utf8和utf-8是有区别的, 所以徐=需要使用utf8mb4
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
这个尽量在models.py文件中设置,不要再项目文件的__init__中设置 否则你会遇到问题的哈哈哈
app.config.from_object('settings.DevelopmentConfig')
db.init_app(app)
添加app需要在配置文件之后,这也是个细节, 不要粗心大意