Cleaned up init_connection_state in the psycopg2 backend.
settings_dict['TIME_ZONE'] is set in ConnectionHandler.ensure_defaults.
This commit is contained in:
parent
76356d963c
commit
28e97a9bdc
|
@ -186,27 +186,26 @@ class DatabaseWrapper(BaseDatabaseWrapper):
|
||||||
return connection
|
return connection
|
||||||
|
|
||||||
def init_connection_state(self):
|
def init_connection_state(self):
|
||||||
settings_dict = self.settings_dict
|
|
||||||
self.connection.set_client_encoding('UTF8')
|
self.connection.set_client_encoding('UTF8')
|
||||||
tz = 'UTC' if settings.USE_TZ else settings_dict.get('TIME_ZONE')
|
|
||||||
if tz:
|
|
||||||
try:
|
|
||||||
get_parameter_status = self.connection.get_parameter_status
|
|
||||||
except AttributeError:
|
|
||||||
# psycopg2 < 2.0.12 doesn't have get_parameter_status
|
|
||||||
conn_tz = None
|
|
||||||
else:
|
|
||||||
conn_tz = get_parameter_status('TimeZone')
|
|
||||||
|
|
||||||
if conn_tz != tz:
|
tz = self.settings_dict['TIME_ZONE']
|
||||||
cursor = self.connection.cursor()
|
try:
|
||||||
try:
|
get_parameter_status = self.connection.get_parameter_status
|
||||||
cursor.execute(self.ops.set_time_zone_sql(), [tz])
|
except AttributeError:
|
||||||
finally:
|
# psycopg2 < 2.0.12 doesn't have get_parameter_status
|
||||||
cursor.close()
|
conn_tz = None
|
||||||
# Commit after setting the time zone (see #17062)
|
else:
|
||||||
if not self.get_autocommit():
|
conn_tz = get_parameter_status('TimeZone')
|
||||||
self.connection.commit()
|
|
||||||
|
if conn_tz != tz:
|
||||||
|
cursor = self.connection.cursor()
|
||||||
|
try:
|
||||||
|
cursor.execute(self.ops.set_time_zone_sql(), [tz])
|
||||||
|
finally:
|
||||||
|
cursor.close()
|
||||||
|
# Commit after setting the time zone (see #17062)
|
||||||
|
if not self.get_autocommit():
|
||||||
|
self.connection.commit()
|
||||||
|
|
||||||
def create_cursor(self):
|
def create_cursor(self):
|
||||||
cursor = self.connection.cursor()
|
cursor = self.connection.cursor()
|
||||||
|
|
Loading…
Reference in New Issue