From a3b5df8ed503ea559d2ffaca7ec0c735d98f1a38 Mon Sep 17 00:00:00 2001 From: Srinivas Reddy Thatiparthy Date: Thu, 13 Jul 2017 20:25:32 +0530 Subject: [1.11.x] Fixed #28387 -- Fixed has_changed() for disabled form fields that subclass it. Backport of 5debbdfcc84266703191e084914998e38f5f52eb from master --- tests/model_forms/tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests/model_forms') diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py index f33278f88a..f3317f59de 100644 --- a/tests/model_forms/tests.py +++ b/tests/model_forms/tests.py @@ -1708,6 +1708,10 @@ class ModelChoiceFieldTests(TestCase): ['Select a valid choice. That choice is not one of the available choices.'] ) + def test_disabled_modelchoicefield_has_changed(self): + field = forms.ModelChoiceField(Author.objects.all(), disabled=True) + self.assertIs(field.has_changed('x', 'y'), False) + def test_disabled_multiplemodelchoicefield(self): class ArticleForm(forms.ModelForm): categories = forms.ModelMultipleChoiceField(Category.objects.all(), required=False) @@ -1733,6 +1737,10 @@ class ModelChoiceFieldTests(TestCase): self.assertEqual(form.errors, {}) self.assertEqual([x.pk for x in form.cleaned_data['categories']], [category1.pk]) + def test_disabled_modelmultiplechoicefield_has_changed(self): + field = forms.ModelMultipleChoiceField(Author.objects.all(), disabled=True) + self.assertIs(field.has_changed('x', 'y'), False) + def test_modelchoicefield_iterator(self): """ Iterator defaults to ModelChoiceIterator and can be overridden with -- cgit v1.3