Openerp 7- 如何 运行 日期时间更新查询

Openerp 7- how to run datetime update query

我对这个更新查询有疑问,我不明白这里的错误。请帮我解决这个问题。

字段

'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: syntax error at or near ":" LINE 1: UPDATE allowance.attendances SET sign_in = 08:15:00

查询应该是这样的,

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

日期时间/时间/日期值必须在单引号中传递。对于整数/长整数,不需要。

当您在数据库中执行直接查询时,odoo 模型不包含 . (dot) 在名称中,它只允许在您通过 odoo ORM 方法执行操作时使用。

所以模型不应该是allowance.attendances,应该是allowance_attendances