我想更新一行数据,将表格中某个列的值设为一个表达式的结果,例如:
MyTable.query.filter_by(id=the_id).update({
"my_col": "(now() at time zone 'utc')"
})
这段代码给我产生了以下错误:
(DataError) invalid input syntax for type timestamp: "(now() at time zone 'utc')"
LINE 1: ...12bf98a-1ee9-4958-975d-ee99f87f1d4a', my_col='(now() at...
^
'UPDATE my_table SET my_col=%(redeemed_at)s WHERE id = %(id_1)s' {'my_col': "(now() at time zone 'utc')",
这应该被翻译为SQL:
update my_table set my_col = (now() at time zone 'utc') where id = ?;
这个SQL语句在控制台运行时是有效的。
"(now() at time zone 'utc')"
作为值。尝试使用Text("(now() at time zone 'utc')")
。 - adarsh