Fixed #10494 -- Added kwargs to QuerySet.get() error message in the case no objects were found.
Thanks brondsem for the report, Szymon Pyzalski for the patch and oinopion for review. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17917 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a901654a96
commit
d5b93d3281
|
@ -363,10 +363,14 @@ class QuerySet(object):
|
||||||
if num == 1:
|
if num == 1:
|
||||||
return clone._result_cache[0]
|
return clone._result_cache[0]
|
||||||
if not num:
|
if not num:
|
||||||
raise self.model.DoesNotExist("%s matching query does not exist."
|
raise self.model.DoesNotExist(
|
||||||
% self.model._meta.object_name)
|
"%s matching query does not exist. "
|
||||||
raise self.model.MultipleObjectsReturned("get() returned more than one %s -- it returned %s! Lookup parameters were %s"
|
"Lookup parameters were %s" %
|
||||||
% (self.model._meta.object_name, num, kwargs))
|
(self.model._meta.object_name, kwargs))
|
||||||
|
raise self.model.MultipleObjectsReturned(
|
||||||
|
"get() returned more than one %s -- it returned %s! "
|
||||||
|
"Lookup parameters were %s" %
|
||||||
|
(self.model._meta.object_name, num, kwargs))
|
||||||
|
|
||||||
def create(self, **kwargs):
|
def create(self, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -93,7 +93,7 @@ access your data. The API is created on the fly, no code generation necessary::
|
||||||
>>> Reporter.objects.get(id=2)
|
>>> Reporter.objects.get(id=2)
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
DoesNotExist: Reporter matching query does not exist.
|
DoesNotExist: Reporter matching query does not exist. Lookup parameters were {'id': 2}
|
||||||
|
|
||||||
# Create an article.
|
# Create an article.
|
||||||
>>> from datetime import datetime
|
>>> from datetime import datetime
|
||||||
|
|
|
@ -664,7 +664,7 @@ Save these changes and start a new Python interactive shell by running
|
||||||
>>> Poll.objects.get(id=2)
|
>>> Poll.objects.get(id=2)
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
DoesNotExist: Poll matching query does not exist.
|
DoesNotExist: Poll matching query does not exist. Lookup parameters were {'id': 2}
|
||||||
|
|
||||||
# Lookup by a primary key is the most common case, so Django provides a
|
# Lookup by a primary key is the most common case, so Django provides a
|
||||||
# shortcut for primary-key exact lookups.
|
# shortcut for primary-key exact lookups.
|
||||||
|
|
|
@ -83,14 +83,23 @@ class ModelTest(TestCase):
|
||||||
# parameters don't match any object.
|
# parameters don't match any object.
|
||||||
self.assertRaisesRegexp(
|
self.assertRaisesRegexp(
|
||||||
ObjectDoesNotExist,
|
ObjectDoesNotExist,
|
||||||
"Article matching query does not exist.",
|
"Article matching query does not exist. Lookup parameters were "
|
||||||
|
"{'id__exact': 2000}",
|
||||||
Article.objects.get,
|
Article.objects.get,
|
||||||
id__exact=2000,
|
id__exact=2000,
|
||||||
)
|
)
|
||||||
|
# To avoid dict-ordering related errors check only one lookup
|
||||||
|
# in single assert.
|
||||||
self.assertRaisesRegexp(
|
self.assertRaisesRegexp(
|
||||||
ObjectDoesNotExist,
|
ObjectDoesNotExist,
|
||||||
"Article matching query does not exist.",
|
".*'pub_date__year': 2005.*",
|
||||||
|
Article.objects.get,
|
||||||
|
pub_date__year=2005,
|
||||||
|
pub_date__month=8,
|
||||||
|
)
|
||||||
|
self.assertRaisesRegexp(
|
||||||
|
ObjectDoesNotExist,
|
||||||
|
".*'pub_date__month': 8.*",
|
||||||
Article.objects.get,
|
Article.objects.get,
|
||||||
pub_date__year=2005,
|
pub_date__year=2005,
|
||||||
pub_date__month=8,
|
pub_date__month=8,
|
||||||
|
@ -98,7 +107,8 @@ class ModelTest(TestCase):
|
||||||
|
|
||||||
self.assertRaisesRegexp(
|
self.assertRaisesRegexp(
|
||||||
ObjectDoesNotExist,
|
ObjectDoesNotExist,
|
||||||
"Article matching query does not exist.",
|
"Article matching query does not exist. Lookup parameters were "
|
||||||
|
"{'pub_date__week_day': 6}",
|
||||||
Article.objects.get,
|
Article.objects.get,
|
||||||
pub_date__week_day=6,
|
pub_date__week_day=6,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue