Flask中使用Flask-SQLAlchemy查询数据库在数据库内容更新时无法实时返回

使用Flask做为框架开发API服务。
查询某对象的列表,功能没有啥问题。
现在是手工操作数据库,在数据库添加一条记录。
调用Flask实现的API服务,无法查到新加入的这条记录。
把Api服务停止,重新启动后,再查,便可查到这条新记录了。
求解决问题的思路~~~

数据获取:

Dinner.query.all()

Dinner的定义:

class Dinner(db.Model):
    # 表名
    __tablename__ = 'dinners'

    # 表结构
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    address = db.Column(db.String)
    image = db.Column(db.String)
    content = db.Column(db.String)

使用的Flask-SQLAlchemy

没啥特殊的地方撒

阅读 11.8k
8 个回答

我也同样的问题
我现在都不是直接操作数据库了
使用Flask-Script的进入CLI界面添加记录

必要时, 可以放点相关的处理代码上来

事务的问题?

检查下没有使用缓存的地方吗

新手上路,请多包涵

题主解决这个问题了吗?

遇到了相似的情况:restful api,增加了一条新数据后无法查询出来。
最初我是model与调用的代码分开的,整合到一个文件中就好了,猜测是缓存导致的,毕竟出现了两个db(class里一个db,调用函数里一个,所以猜测是这个原因)

新手上路,请多包涵

我跟你的情况一样,我的解决方式是
db = MySQLdb.connect(host, dbuser, dbpwd, dbname, port= 3306, charset=dbcharset, autocommit = True ,cursorclass = MySQLdb.cursors.DictCursor )

在连接数据库的地方加上 autocommit = True

原文 http://www.bkjia.com/Pythonjc...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进