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

查看:91
本文介绍了flask-sqlalchemy - flask中如何让脚本自动把数据写到数据表中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

测试脚本自动写入的代码:

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

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

解决方案

你可以试一下这样,因为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()
    

下面是我举的例子,可以参考一下

这篇关于flask-sqlalchemy - flask中如何让脚本自动把数据写到数据表中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆