2017-06-17 44 views
1

我有問題的SQLAlchemy
SQLite的日期類型只接受的Python日期對象作爲輸入

SQLite的日期類型只接受的Python日期對象作爲輸入。[SQL:?「UPDATE記錄SET時間戳=] [參數:[{ '時間戳':(datetime.date(2017年,6,15),)}]]

這是我的Forms.py

class DataForm(FlaskForm):   
    timestamp = DateField("date", validators=[Required()]) 

class ModifyDataForm(FlaskForm): 
    timestamp = DateField("date", validators=[Required()]) 

這是我的模型。 PY

class Record(db.Model): 
    timestamp = db.Column(db.Date, default=date.today, index=True) 

Views.py

def create(): 
    form = DataForm() 
    if form.validate_on_submit(): 
     record = Record(timestamp=form.timestamp.data,) 

def modify(id): 
    record = Record.query.get_or_404(id) 
    form = ModifyDataForm(record) 
    if form.validate_on_submit(): 
     record.timestamp = form.timestamp.data, 
    form.timestamp.data = record.timestamp 

模板我用引導的wtf.html

當我創建一個數據,輸入 '2017年6月18日',這是確定。
但是,當我更新數據,sqlalchemy提高:
>>> SQLite日期類型只接受Python日期對象作爲輸入[SQL:'UPDATE記錄SET時間戳=?] [參數:[{'timestamp':(datetime.date (2017,6,15),}}]]

我在哪裏錯了? datetime.date不是Python日期對象嗎?爲什麼第一次工作?我該如何解決它。

我的英語很差,如果有困惑,再問我一次。

謝謝!

回答

1

我很愚蠢。
在我的views.py
函數中修改。
我只是從創建的代碼複製。然後,它有一個逗號結束行。當我刪除這個逗號時,一切都奏效了!
所以,如果你有同樣的問題,請檢查你的代碼!

相關問題