diff options
| author | Claude Paroz <claude@2xlibre.net> | 2013-12-06 14:40:51 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-12-07 10:14:22 +0100 |
| commit | 8a9c8bb90736451e6bdea82723cbb23a695146fb (patch) | |
| tree | 4f13cdb15c6c6627e5bc31e8af6af65295c8dd74 /tests | |
| parent | 6d20a80d986848da5944904c7f91d6e002701ef1 (diff) | |
Fixed #21568 -- Added missing ModelMultipleChoiceField to_python method
Thanks dibrovsd at gmail.com for the report and Simon Charette
for the review.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/model_forms_regress/tests.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/model_forms_regress/tests.py b/tests/model_forms_regress/tests.py index 963c7e552d..d6c05f3153 100644 --- a/tests/model_forms_regress/tests.py +++ b/tests/model_forms_regress/tests.py @@ -45,6 +45,29 @@ class ModelMultipleChoiceFieldTests(TestCase): f.clean([p.pk for p in Person.objects.all()[8:9]]) self.assertTrue(self._validator_run) + def test_model_multiple_choice_show_hidden_initial(self): + """ + Test support of show_hidden_initial by ModelMultipleChoiceField. + """ + class PersonForm(forms.Form): + persons = forms.ModelMultipleChoiceField(show_hidden_initial=True, + queryset=Person.objects.all()) + + person1 = Person.objects.create(name="Person 1") + person2 = Person.objects.create(name="Person 2") + + form = PersonForm(initial={'persons': [person1, person2]}, + data={'initial-persons': [str(person1.pk), str(person2.pk)], + 'persons': [str(person1.pk), str(person2.pk)]}) + self.assertTrue(form.is_valid()) + self.assertFalse(form.has_changed()) + + form = PersonForm(initial={'persons': [person1, person2]}, + data={'initial-persons': [str(person1.pk), str(person2.pk)], + 'persons': [str(person2.pk)]}) + self.assertTrue(form.is_valid()) + self.assertTrue(form.has_changed()) + class TripleForm(forms.ModelForm): class Meta: |
