2017-03-05 98 views
-1

用户已将日期输入到输入中。插入sqlalchelmy日期字段

print form.date.data 
>>> '2017-03-05' 

现在我想进入的日期或者这个

expiration_date = db.Column(db.DateTime) 

我得到的错误是

sqlalchemy.exc.StatementError 



    StatementError: <unprintable StatementError object> 


raise TypeError("SQLite DateTime type only accepts Python " 

我能做些什么来摆脱它转换为正确的格式化或修复错误。

+0

检查:[链接] http://stackoverflow.com/questions/30344237/error-sqlite-datetime-type-only-accepts-python-datetime-and-date-objects-一个 –

回答

1

form.date.data是一个字符串它应该被转换到Python日期时间,因为SQLAlchemy的DateTime列是一个python日期时间。或者你可以将日期存储为一个字符串。要转换:

import datetime 
y, m, d = form.date.data.split('-') 
expiration_date = datetime.datetime(int(y), int(m), int(d)) 
+0

expiration_date = datetime(int(form.expiration_date.data))然后我得到这个错误无效的文​​字为int()与基地10:'2017-03-28'我想我会只是打入年份日期月份,然后使用日期时间功能 –

+0

是的,我忘了它。你可以拆分字符串。我更新了答案 – metmirr

相关问题