summaryrefslogtreecommitdiff
path: root/tests/m2m_regress
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2014-12-24 14:13:58 +0100
committerClaude Paroz <claude@2xlibre.net>2014-12-24 14:18:00 +0100
commit7ce9644d9347455ae6f9bd383788a65e4bcadda3 (patch)
tree10e273d122a5898ec6b52652add018bdbea522e3 /tests/m2m_regress
parent5dddd79433ceb88ab67d9851b49a44ce5b8f509c (diff)
downloaddjango-7ce9644d9347455ae6f9bd383788a65e4bcadda3.tar.gz
Added a test to ensure bad assignation to M2M doesn't clear data
Refs #14394.
Diffstat (limited to 'tests/m2m_regress')
-rw-r--r--tests/m2m_regress/tests.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/m2m_regress/tests.py b/tests/m2m_regress/tests.py
index e795e06594..b1adc53952 100644
--- a/tests/m2m_regress/tests.py
+++ b/tests/m2m_regress/tests.py
@@ -97,3 +97,15 @@ class M2MRegressionTests(TestCase):
# causes a TypeError in add_lazy_relation
m1 = RegressionModelSplit(name='1')
m1.save()
+
+ def test_assigning_invalid_data_to_m2m_doesnt_clear_existing_relations(self):
+ t1 = Tag.objects.create(name='t1')
+ t2 = Tag.objects.create(name='t2')
+ c1 = TagCollection.objects.create(name='c1')
+ c1.tags = [t1, t2]
+
+ with self.assertRaises(TypeError):
+ c1.tags = 7
+
+ c1.refresh_from_db()
+ self.assertQuerysetEqual(c1.tags.order_by('name'), ["<Tag: t1>", "<Tag: t2>"])