Loading django/forms/widgets.py +3 −0 Original line number Diff line number Diff line Loading @@ -533,6 +533,9 @@ class CheckboxInput(Widget): def _has_changed(self, initial, data): # Sometimes data or initial could be None or '' which should be the # same thing as False. if initial == 'False': # show_hidden_initial may have transformed False to 'False' initial = False return bool(initial) != bool(data) class Select(Widget): Loading tests/regressiontests/forms/tests/widgets.py +2 −0 Original line number Diff line number Diff line Loading @@ -240,6 +240,8 @@ class FormsWidgetTestCase(TestCase): self.assertTrue(w._has_changed(False, 'on')) self.assertFalse(w._has_changed(True, 'on')) self.assertTrue(w._has_changed(True, '')) # Initial value may have mutated to a string due to show_hidden_initial (#19537) self.assertTrue(w._has_changed('False', 'on')) def test_select(self): w = Select() Loading Loading
django/forms/widgets.py +3 −0 Original line number Diff line number Diff line Loading @@ -533,6 +533,9 @@ class CheckboxInput(Widget): def _has_changed(self, initial, data): # Sometimes data or initial could be None or '' which should be the # same thing as False. if initial == 'False': # show_hidden_initial may have transformed False to 'False' initial = False return bool(initial) != bool(data) class Select(Widget): Loading
tests/regressiontests/forms/tests/widgets.py +2 −0 Original line number Diff line number Diff line Loading @@ -240,6 +240,8 @@ class FormsWidgetTestCase(TestCase): self.assertTrue(w._has_changed(False, 'on')) self.assertFalse(w._has_changed(True, 'on')) self.assertTrue(w._has_changed(True, '')) # Initial value may have mutated to a string due to show_hidden_initial (#19537) self.assertTrue(w._has_changed('False', 'on')) def test_select(self): w = Select() Loading