Loading django/contrib/postgres/forms/hstore.py +10 −0 Original line number Diff line number Diff line Loading @@ -34,3 +34,13 @@ class HStoreField(forms.CharField): for key, val in value.items(): value[key] = six.text_type(val) return value def has_changed(self, initial, data): """ Return True if data differs from initial. """ # For purposes of seeing whether something has changed, None is # the same as an empty dict, if the data or initial value we get # is None, replace it w/ {}. initial_value = self.to_python(initial) return super(forms.HStoreField, self).has_changed(initial_value, data) django/db/backends/postgresql_psycopg2/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -199,6 +199,7 @@ class DatabaseWrapper(BaseDatabaseWrapper): if conn_timezone_name != self.timezone_name: cursor = self.connection.cursor() try: print "UPS" cursor.execute(self.ops.set_time_zone_sql(), [self.timezone_name]) finally: cursor.close() Loading tests/postgres_tests/test_hstore.py +6 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,12 @@ class TestFormField(PostgresSQLTestCase): form_field = model_field.formfield() self.assertIsInstance(form_field, forms.HStoreField) def test_empty_field_has_not_changed(self): class HStoreFormTest(forms.Form): f1 = HStoreField() form_w_hstore = HStoreFormTest() self.assertFalse(form_w_hstore.has_changed()) class TestValidator(PostgresSQLTestCase): Loading Loading
django/contrib/postgres/forms/hstore.py +10 −0 Original line number Diff line number Diff line Loading @@ -34,3 +34,13 @@ class HStoreField(forms.CharField): for key, val in value.items(): value[key] = six.text_type(val) return value def has_changed(self, initial, data): """ Return True if data differs from initial. """ # For purposes of seeing whether something has changed, None is # the same as an empty dict, if the data or initial value we get # is None, replace it w/ {}. initial_value = self.to_python(initial) return super(forms.HStoreField, self).has_changed(initial_value, data)
django/db/backends/postgresql_psycopg2/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -199,6 +199,7 @@ class DatabaseWrapper(BaseDatabaseWrapper): if conn_timezone_name != self.timezone_name: cursor = self.connection.cursor() try: print "UPS" cursor.execute(self.ops.set_time_zone_sql(), [self.timezone_name]) finally: cursor.close() Loading
tests/postgres_tests/test_hstore.py +6 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,12 @@ class TestFormField(PostgresSQLTestCase): form_field = model_field.formfield() self.assertIsInstance(form_field, forms.HStoreField) def test_empty_field_has_not_changed(self): class HStoreFormTest(forms.Form): f1 = HStoreField() form_w_hstore = HStoreFormTest() self.assertFalse(form_w_hstore.has_changed()) class TestValidator(PostgresSQLTestCase): Loading