summaryrefslogtreecommitdiff
path: root/tests/update
diff options
context:
space:
mode:
Diffstat (limited to 'tests/update')
-rw-r--r--tests/update/models.py1
-rw-r--r--tests/update/tests.py9
2 files changed, 10 insertions, 0 deletions
diff --git a/tests/update/models.py b/tests/update/models.py
index bfcc29bee9..b56dd2258e 100644
--- a/tests/update/models.py
+++ b/tests/update/models.py
@@ -46,3 +46,4 @@ class Foo(models.Model):
class Bar(models.Model):
foo = models.ForeignKey(Foo, models.CASCADE, to_field='target')
+ m2m_foo = models.ManyToManyField(Foo, related_name='m2m_foo')
diff --git a/tests/update/tests.py b/tests/update/tests.py
index 55a8e24c6a..ba7ffd5c88 100644
--- a/tests/update/tests.py
+++ b/tests/update/tests.py
@@ -139,6 +139,15 @@ class AdvancedTests(TestCase):
bar_qs.update(foo=b_foo)
self.assertEqual(bar_qs[0].foo_id, b_foo.target)
+ def test_update_m2m_field(self):
+ msg = (
+ 'Cannot update model field '
+ '<django.db.models.fields.related.ManyToManyField: m2m_foo> '
+ '(only non-relations and foreign keys permitted).'
+ )
+ with self.assertRaisesMessage(FieldError, msg):
+ Bar.objects.update(m2m_foo='whatever')
+
def test_update_annotated_queryset(self):
"""
Update of a queryset that's been annotated.