python - Flask-SQLalchemy 错误说我的表没有名为 x 的列
问题描述
我只是想创建一个简单的数据库,添加一个单词,打印它,然后删除它,但是我收到一条我无法理解的错误消息。
错误信息:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table post has no column named word
[SQL: INSERT INTO post (word) VALUES (?)]
[parameters: ('Cheese 0',)]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
word = db.Column(db.String(10))
def create_db():
db.create_all()
for x in range(5):
p = Post(word='Cheese ' + str(x))
db.session.add(p)
db.session.commit()
提供的链接。我是 Flask 和 SQLalchemy 的新手;我无法完全弄清楚这些信息试图对我说什么。
解决方案
你错过了db.session.commit()
def create_db():
db.create_all()
db.session.commit()
for x in range(5):
p = Post(word= f'Cheese {x}')
db.session.add(p)
db.session.commit()
推荐阅读
- swift - 无法使用委托模式从另一个类执行方法(swift)
- node.js - 提示 Node JS 后访问用户输入
- arrays - 更改数组以使两个数组之和相等的最短时间
- java - 如何在java中的scala类中访问scala对象?
- r - 如何编写一个函数,从另一个数据集中同义列的每个值中减去一个数据集中每一列的平均值?
- php - 从 qraphql 遍历数组中的数组
- python - 如何阅读此 python 字典插入的语法?
- github - 使用 Git bash 命令进行 Git 合并
- azure - 将 Azure VMSS 实例计数设置为 0,直到手动更改
- python - 如何更改 pip3 的 Python 版本