2017-03-05 2 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-를 a –

답변

1

form.date.data은 sqlalchemy DateTime 열이 python datetime이기 때문에 python datetime으로 변환해야합니다. 또는 날짜를 문자열로 저장할 수 있습니다. 변환하려면

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)) 그런 다음이 오류는 10 진수 int()에 대한 리터럴이 잘못 표시됩니다. '2017-03-28'나는 년 날짜 월로 프레이즈를 작성한 다음 사용합니다. 날짜/시간 함수 –

+0

그래, 깜빡 했어. 문자열을 나눌 수 있습니다. 나는 대답을 업데이트했다. – metmirr