diff options
| author | can <cansarigol@derinbilgi.com.tr> | 2019-03-30 00:07:29 +0300 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-04-08 08:59:17 +0200 |
| commit | cef3f2d3c64055c9fc1757fd61dba24b557a2add (patch) | |
| tree | 4b705eb6959038580f48fbc4f6f515e541c18327 /django/db/backends/sqlite3/operations.py | |
| parent | c84b91b7603e488f7171fdff8f08368ef3d6b856 (diff) | |
Fixed #28373 -- Used connection timezone instead of UTC when making dates timezone-aware on MySQL, SQLite, and Oracle.
Thanks vtalpaert for the initial patch.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Diffstat (limited to 'django/db/backends/sqlite3/operations.py')
| -rw-r--r-- | django/db/backends/sqlite3/operations.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py index c4b02e5c60..364b3eba05 100644 --- a/django/db/backends/sqlite3/operations.py +++ b/django/db/backends/sqlite3/operations.py @@ -84,27 +84,29 @@ class DatabaseOperations(BaseDatabaseOperations): def time_trunc_sql(self, lookup_type, field_name): return "django_time_trunc('%s', %s)" % (lookup_type.lower(), field_name) - def _convert_tzname_to_sql(self, tzname): - return "'%s'" % tzname if settings.USE_TZ else 'NULL' + def _convert_tznames_to_sql(self, tzname): + if settings.USE_TZ: + return "'%s'" % tzname, "'%s'" % self.connection.timezone_name + return 'NULL', 'NULL' def datetime_cast_date_sql(self, field_name, tzname): - return "django_datetime_cast_date(%s, %s)" % ( - field_name, self._convert_tzname_to_sql(tzname), + return 'django_datetime_cast_date(%s, %s, %s)' % ( + field_name, *self._convert_tznames_to_sql(tzname), ) def datetime_cast_time_sql(self, field_name, tzname): - return "django_datetime_cast_time(%s, %s)" % ( - field_name, self._convert_tzname_to_sql(tzname), + return 'django_datetime_cast_time(%s, %s, %s)' % ( + field_name, *self._convert_tznames_to_sql(tzname), ) def datetime_extract_sql(self, lookup_type, field_name, tzname): - return "django_datetime_extract('%s', %s, %s)" % ( - lookup_type.lower(), field_name, self._convert_tzname_to_sql(tzname), + return "django_datetime_extract('%s', %s, %s, %s)" % ( + lookup_type.lower(), field_name, *self._convert_tznames_to_sql(tzname), ) def datetime_trunc_sql(self, lookup_type, field_name, tzname): - return "django_datetime_trunc('%s', %s, %s)" % ( - lookup_type.lower(), field_name, self._convert_tzname_to_sql(tzname), + return "django_datetime_trunc('%s', %s, %s, %s)" % ( + lookup_type.lower(), field_name, *self._convert_tznames_to_sql(tzname), ) def time_extract_sql(self, lookup_type, field_name): |
