diff options
| author | Tim Graham <timograham@gmail.com> | 2017-03-15 12:54:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-15 12:54:26 -0400 |
| commit | 44f9241c48e28823b140bc4ec7515f5a88b88c32 (patch) | |
| tree | d2a0d165441b8ff530261b7712f198cd93ee9eeb /tests/model_forms | |
| parent | 0d83052e52ddfe99c214be7ffca348a3c8feaef5 (diff) | |
Refs #27563 -- Fixed ModelChoiceField.__deepcopy__() so forms don't share a queryset cache.
Thanks Luke Benstead for the report Simon Charettes for the fix.
Diffstat (limited to 'tests/model_forms')
| -rw-r--r-- | tests/model_forms/tests.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py index b92ba1fa4a..bcde7a868c 100644 --- a/tests/model_forms/tests.py +++ b/tests/model_forms/tests.py @@ -1631,6 +1631,15 @@ class ModelChoiceFieldTests(TestCase): self.assertIsNot(field1, ModelChoiceForm.base_fields['category']) self.assertIs(field1.widget.choices.field, field1) + def test_modelchoicefield_result_cache_not_shared(self): + class ModelChoiceForm(forms.Form): + category = forms.ModelChoiceField(Category.objects.all()) + + form1 = ModelChoiceForm() + self.assertCountEqual(form1.fields['category'].queryset, [self.c1, self.c2, self.c3]) + form2 = ModelChoiceForm() + self.assertIsNone(form2.fields['category'].queryset._result_cache) + def test_modelchoicefield_22745(self): """ #22745 -- Make sure that ModelChoiceField with RadioSelect widget |
