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需要在配置文件之后,这也是个细节, 不要粗心大意

 
posted @ 2022-09-05 22:05  努力搬砖的zh  阅读(215)  评论(0)    收藏  举报