flask中如何让脚本自动把数据写到数据表中?

使用的是flask-sqlalchemy,想让脚本将已经提供的数据自动加载到数据库表中,先做了一个测试:提供了几个数据,然后判断表中如果没有找个数据,就把数据加载到数据表中,代码如下,最后的提示是:`RuntimeError: application not registered on db instance and no application bound to current context
`
数据库的代码:
图片描述

测试脚本自动写入的代码:
图片描述

运行文件时出错的提示为:

图片描述

情况如上,请问该如何解决找个问题呢?或者如何实现这种功能?

阅读 3.9k
1 个回答

你可以试一下这样,因为person是一个查询结果,形式是一个以实例对象为元素的list,你要验证一个实例是否在里面的话,不能直接用name属性是否in来判断,你需要用类名按照name属性去创建一个实例,并检查这个实例是否在这个列表里面。

当然,类名记得改成你自己的 :)

stranges=['testnight','testday']

person=User.query.all()

for per in stranges:
    if User(name=per) not in person:
        per=User(name=per)
        db.session.add(per)
    db.session.commit()
    

下面是我举的例子,可以参考一下
图片描述

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