PythonでSQLを実行しているときに次のエラーが発生します
/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py:64: RuntimeWarning: SQLite received a naive datetime (2012-06-22 15:53:43) while time zone support is active.
私のクエリも間違ったデータを返します。時間を 2 時間上に変更すると (15:53:43 ではなく 17:53:43)、私のタイムゾーン atm は gmt +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)