我遇到此更新查询的问题,我不明白这里的错误。请帮我解决这个问题。
字段
'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))
错误
ProgrammingError:语法错误在“:”处或附近:LINE 1:UPDATE allowance.attendances SET sign_in = 08:15:00
答案 0 :(得分:1)
查询应该是这样的,
cr.execute("UPDATE allowance_attendances SET sign_in = '%s' WHERE id =%s"%(sign_in1,colmn_id))
日期时间/时间/日期值必须以单引号传递。对于整数/长整数,它不是必需的。
在数据库中执行直接查询时,odoo模型不包含。 (点)名称,只有在您通过odoo ORM方法执行操作时才允许使用。
所以模特不应该 allowance.attendances ,它应该是 allowance_attendances