2017-03-05 111 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