Fixed #2348 -- Improved error reporting when query filter arguments are
misspelt. Variation on a patch from Karen Tracey. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4470 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
f0a3f5fc1a
commit
e57ce6b157
|
@ -881,8 +881,14 @@ def lookup_inner(path, lookup_type, value, opts, table, column):
|
||||||
new_opts = field.rel.to._meta
|
new_opts = field.rel.to._meta
|
||||||
new_column = new_opts.pk.column
|
new_column = new_opts.pk.column
|
||||||
join_column = field.column
|
join_column = field.column
|
||||||
|
raise FieldFound
|
||||||
raise FieldFound
|
elif path:
|
||||||
|
# For regular fields, if there are still items on the path,
|
||||||
|
# an error has been made. We munge "name" so that the error
|
||||||
|
# properly identifies the cause of the problem.
|
||||||
|
name += LOOKUP_SEPARATOR + path[0]
|
||||||
|
else:
|
||||||
|
raise FieldFound
|
||||||
|
|
||||||
except FieldFound: # Match found, loop has been shortcut.
|
except FieldFound: # Match found, loop has been shortcut.
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -206,4 +206,15 @@ DoesNotExist: Article matching query does not exist.
|
||||||
>>> Article.objects.exclude(id__in=[])
|
>>> Article.objects.exclude(id__in=[])
|
||||||
[<Article: Article with \ backslash>, <Article: Article% with percent sign>, <Article: Article_ with underscore>, <Article: Article 5>, <Article: Article 6>, <Article: Article 4>, <Article: Article 2>, <Article: Article 3>, <Article: Article 7>, <Article: Article 1>]
|
[<Article: Article with \ backslash>, <Article: Article% with percent sign>, <Article: Article_ with underscore>, <Article: Article 5>, <Article: Article 6>, <Article: Article 4>, <Article: Article 2>, <Article: Article 3>, <Article: Article 7>, <Article: Article 1>]
|
||||||
|
|
||||||
|
# Programming errors are pointed out with nice error messages
|
||||||
|
>>> Article.objects.filter(pub_date_year='2005').count()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
TypeError: Cannot resolve keyword 'pub_date_year' into field
|
||||||
|
|
||||||
|
>>> Article.objects.filter(headline__starts='Article')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
TypeError: Cannot resolve keyword 'headline__starts' into field
|
||||||
|
|
||||||
"""}
|
"""}
|
||||||
|
|
Loading…
Reference in New Issue