diff options
author | Claude Paroz <claude@2xlibre.net> | 2014-12-24 14:13:58 +0100 |
---|---|---|
committer | Claude Paroz <claude@2xlibre.net> | 2014-12-24 14:18:00 +0100 |
commit | 7ce9644d9347455ae6f9bd383788a65e4bcadda3 (patch) | |
tree | 10e273d122a5898ec6b52652add018bdbea522e3 /tests/m2m_regress | |
parent | 5dddd79433ceb88ab67d9851b49a44ce5b8f509c (diff) | |
download | django-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.py | 12 |
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>"]) |