Commit 5570b076 authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Fixed #9778 -- Added some special casing of the "Join on field 'abc'" error

message. It now gives an extra hint if there's a chance you just made a typo in
the lookup type.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@9620 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 5e9c5de7
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1455,6 +1455,9 @@ class BaseQuery(object):
                    self.update_dupe_avoidance(dupe_opts, dupe_col, alias)

        if pos != len(names) - 1:
            if pos == len(names) - 2:
                raise FieldError("Join on field %r not permitted. Did you misspell %r for the lookup type?" % (name, names[pos + 1]))
            else:
                raise FieldError("Join on field %r not permitted." % name)

        return field, target, opts, joins, last, extra_filters
+1 −1
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ FieldError: Cannot resolve keyword 'pub_date_year' into field. Choices are: head
>>> Article.objects.filter(headline__starts='Article')
Traceback (most recent call last):
    ...
FieldError: Join on field 'headline' not permitted.
FieldError: Join on field 'headline' not permitted. Did you misspell 'starts' for the lookup type?

# Create some articles with a bit more interesting headlines for testing field lookups:
>>> now = datetime.now()