作为初学者,代码如下:
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'}]]
这是我的问题,
发现错误,我该怎么办
我只是将“时间戳”更改为“时间”
>>> from app import Message
>>> m = Message(name='L', content='like', time='246800')
>>> m.time
>>> '246800'
>>> db.session.add(m)
>>> db.session.commit()
这个对了! 我不知道其背后的原理。这个名字很特别吗?