SQLite在启用时区支持的情况下收到了一个无知的日期时间
- 论坛
- SQLite在启用时区支持的情况下收到了一个无知的日期时间
24 浏览
SQLite在启用时区支持的情况下收到了一个无知的日期时间
在运行Python中的SQL时,我遇到了以下错误:
/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py:64: RuntimeWarning: SQLite在时区支持激活的情况下收到了一个简单的日期时间(2012-06-22 15:53:43)。
我的查询也返回了错误的数据。
如果我将时间提前两个小时(17:53:43而不是15:53:43),我的时区目前是格林威治时间加2小时,所以我认为问题出在时区上。
如何更改我的查询,以使SQL按照我的意图执行?
SQL:
sqlQuery = """SELECT w.id, w.serial, w.finishdate, w.weighingtype_id, w.netto, w.bruto, w.deleted FROM weighing w LEFT JOIN weighing w1 ON w1.id = w.parent_id WHERE w.user_id = %(userid)s""" if date: sqlQuery = sqlQuery + " AND (w.created = %(date)s OR w.modified > %(date)s)"
编辑:添加了转换日期时间的代码
data = request.GET.copy() if 'date' in data: try: data['date'] = datetime.datetime.strptime(data['date'], "%Y-%m-%dT%H:%M:%S") except: raise error(311)