1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #17527 -- Improved exception message when adding the wrong type of object to a ManyToManyField. Thanks, guettli and cClaude Paroz.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17437 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel
2012-02-04 16:06:09 +00:00
parent 56d787df99
commit 2b0c1ea641
3 changed files with 8 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
from __future__ import absolute_import
from __future__ import absolute_import, with_statement
from django.test import TestCase
@@ -52,7 +52,8 @@ class ManyToManyTests(TestCase):
])
# Adding an object of the wrong type raises TypeError
self.assertRaises(TypeError, a6.publications.add, a5)
with self.assertRaisesRegexp(TypeError, "'Publication' instance expected, got <Article.*"):
a6.publications.add(a5)
# Add a Publication directly via publications.add by using keyword arguments.
p4 = a6.publications.create(title='Highlights for Adults')
self.assertQuerysetEqual(a6.publications.all(),

View File

@@ -1,4 +1,4 @@
from __future__ import absolute_import
from __future__ import absolute_import, with_statement
from copy import deepcopy
from datetime import datetime
@@ -68,7 +68,8 @@ class ManyToOneTests(TestCase):
self.assertQuerysetEqual(self.r2.article_set.all(), ["<Article: Paul's story>"])
# Adding an object of the wrong type raises TypeError.
self.assertRaises(TypeError, self.r.article_set.add, self.r2)
with self.assertRaisesRegexp(TypeError, "'Article' instance expected, got <Reporter.*"):
self.r.article_set.add(self.r2)
self.assertQuerysetEqual(self.r.article_set.all(),
[
"<Article: John's second story>",