2017-06-05 42 views
0

我有這個更新查詢的問題,我不明白這裏的錯誤。請幫我解決這個問題。Openerp 7-如何運行日期時間更新查詢

領域

'sign_in' : fields.datetime("Sign In"), 

可變

sgn_in1 = datetime.datetime.strptime(sign_in, DATETIME_FORMAT1).time() 

查詢

cr.execute("""UPDATE allowance.attendances SET sign_in = %s WHERE id =%s"""%(sign_in1,colmn_id)) 

ë RROR

ProgrammingError: syntax error at or near ":" LINE 1: UPDATE allowance.attendances SET sign_in = 08:15:00

回答

1

查詢應該是這樣的,

cr.execute("UPDATE allowance_attendances SET sign_in = '%s' WHERE id =%s"%(sign_in1,colmn_id)) 

日期時間/時間/日期值必須在單引號進行傳遞。對於整數/長整數不是必需的。

當您在數據庫中執行直接查詢時,odoo模型不包含。 (點)的名稱,它只允許在通過odoo ORM方法執行操作時使用。

所以型號不應該allowance.attendances,它應該是allowance_attendances

+0

非常感謝你的幫助和那些單引號確實神奇。再次感謝 –