summaryrefslogtreecommitdiff
path: root/tests/model_forms/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_forms/tests.py')
-rw-r--r--tests/model_forms/tests.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index f3317f59de..b14e0e2389 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -3142,3 +3142,18 @@ class StrictAssignmentTests(TestCase):
'__all__': ['Cannot set attribute'],
'title': ['This field cannot be blank.']
})
+
+
+class ModelToDictTests(TestCase):
+ def test_many_to_many(self):
+ """Data for a ManyToManyField is a list rather than a lazy QuerySet."""
+ blue = Colour.objects.create(name='blue')
+ red = Colour.objects.create(name='red')
+ item = ColourfulItem.objects.create()
+ item.colours.set([blue])
+ data = model_to_dict(item)['colours']
+ self.assertEqual(data, [blue])
+ item.colours.set([red])
+ # If data were a QuerySet, it would be reevaluated here and give "red"
+ # instead of the original value.
+ self.assertEqual(data, [blue])