Flask-SQLAlchemy 的 db.session.commit() 错误

问题描述 投票:0回答:1

作为初学者,代码如下:

class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=False)
    content = db.Column(db.Text, nullable=False)
    timestamp = db.Column(db.String(20), nullable=False)

然后我打开 Flask Shell,m = Message(name='L', content='db.test', timestamp='2024-08-14 12:17:30') 但是,当我编写 db.session.commite() 代码时

sqlalchemy.exc.StatementError: (builtins.TypeError) SQLite DateTime type only accepts Python datetime and date objects as input.
[SQL: INSERT INTO message (name, content, timestamp) VALUES (?, ?, ?)]
[parameters: [{'timestamp': '2024-08-14 12:17:30', 'content': 'db.test', 'name': 'L'}]]

这是我的问题,

发现错误,我该怎么办

python flask flask-sqlalchemy
1个回答
0
投票

我只是将“时间戳”更改为“时间”

>>> from app import Message
>>> m = Message(name='L', content='like', time='246800') 
>>> m.time
>>> '246800'
>>> db.session.add(m)
>>> db.session.commit()

这个对了! 我不知道其背后的原理。这个名字很特别吗?

© www.soinside.com 2019 - 2024. All rights reserved.