SQLite DateTime类型仅接受Python日期时间

时间:2018-11-05 16:12:34

标签: python sqlite sqlalchemy

我尝试从字典中填充 SQLAlchemy 模型。代码部分就是这样。

data = dict(request.form)
c=customer(**data)
db.session.add(c)
db.session.commit() 

当表单没有日期字段时,一切都很好。但是,将日期时间字段添加到表单时,无法填充模型。我收到此错误消息。

  

SQLite DateTime类型仅接受Python datetime和date对象作为输入。 [SQL:'INSERT INTO customer(first_name,last_name,register_date)VALUES(?,?,?)'] [参数:[{'first_name':['jhon'],'register_date':['2010-01-01 '],'last_name':['snow']}]]

class customer(db.Model):
first_name = db.Column(db.String(200))
last_name= db.Column(db.String(200))
register_date=db.Column(db.DateTime)

我该如何解决?

1 个答案:

答案 0 :(得分:0)

看起来register_date是代码中的字符串。您需要在调用datetime之前将字符串转换为datec=customer(**data)对象。