如何让web2py将DB服务器理解的当前时间插入日期时间字段。如果我简单地使用datetime.now((,它将插入客户端时间。在mySQL中,我会使用"NOW(("来获取服务器时间:有DAL快捷方式吗?
它用于在update_or_insert((语句中使用,如果这有什么不同的话。
我不认为可以直接将SQL函数传递给DAL .insert
或.update_or_insert
方法,因为传递的值最终都会被引用。相反,您将不得不使用.executesql()
方法,并将要执行的SQL传递给它。如果您想要生成SQL的帮助,可以使用._insert
方法生成一个字符串,然后删除"NOW(("函数周围的引号:
query = db.mytable._insert(mytime='NOW()').replace("'NOW()'", "NOW()")
db.executesql(query)
当然,您将无法将.update_or_insert
方法与此方法一起使用,但其逻辑并不复杂,因此您可以轻松地实现自己的助手来处理.update_or_insert
逻辑以及上述逻辑。