如果不存在创建表的正确方法是什么? Flask-SQLAlchemy

时间:2019-08-16 09:11:51

标签: python-3.x database sqlite sqlalchemy flask-sqlalchemy

如果它不存在,我想使用我的单例类从数据库中加载它。问题是我没有找到适当的方法来做到这一点,而只是捕获异常。

所以,我一直在寻找一些解决方案,人们总是写这样的东西:

db.session.query(DatasetCounter).filter_by(id=1).first()

我的应用程序因为找不到'用户'表而引发操作错误。这是日志中的报价:

  

sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:dataset_counter

所有其他方法都使我遇到相同的错误。因此,也许有比捕获异常更好的方法来处理这种情况?

UPD: 问题不在于加载现有表,而在于创建新表。

1 个答案:

答案 0 :(得分:0)

真的,也许是评论中问题的重复。我刚刚意识到,访问操作后我正在调用 db.create_all()。因此,数据库找不到表。谢谢。