[Django] #27268: Regression on error message for invalid related fields lookup in QuerySet.get()

6 views
Skip to first unread message

Django

unread,
Sep 24, 2016, 10:24:17 PM9/24/16
to django-...@googlegroups.com
#27268: Regression on error message for invalid related fields lookup in
QuerySet.get()
-------------------------------------+-------------------------------------
Reporter: François Freitag | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: master
(models, ORM) | Keywords: get lookup related
Severity: Normal | fields
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
The expected error message for an invalid lookup in a `get()` operation
shoud look like:
{{{
Related Field got invalid lookup: foo
}}}

The current error message is:
{{{
TypeError: 'NoneType' object is not callable
}}}

Steps to reproduce:
**models.py**
{{{#!python
class Tag(models.Model):
text = models.CharField(max_length=100, unique=True)

class Thing(models.Model):
name = models.CharField(max_length=100)
tags = models.ManyToManyField(Tag)
}}}

**tests.py**
{{{#!python
def test_invalid_lookup(self):
with self.assertRaisesMessage(TypeError, "Related Field got invalid
lookup"):
Thing.objects.get(tags__foo='bar')
}}}

It seems that the regression is introduced by
https://github.com/django/django/commit/7aeb7390fc4231119494a9ebdee3c6ee0d5af053
and is only present on master.

//Trac ticket related to the commit introducing the regression: //
https://code.djangoproject.com/ticket/26891

--
Ticket URL: <https://code.djangoproject.com/ticket/27268>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Sep 24, 2016, 11:23:00 PM9/24/16
to django-...@googlegroups.com
#27268: Regression on error message for invalid related fields lookup in
QuerySet.get()
-------------------------------------+-------------------------------------
Reporter: François Freitag | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: get lookup related | Triage Stage: Accepted
fields |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Simon Charette):

* needs_better_patch: => 0
* needs_docs: => 0
* needs_tests: => 0
* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/27268#comment:1>

Django

unread,
Sep 27, 2016, 12:23:47 PM9/27/16
to django-...@googlegroups.com
#27268: Regression on error message for invalid related fields lookup in
QuerySet.get()
-------------------------------------+-------------------------------------
Reporter: François Freitag | Owner: felixxm
Type: Bug | Status: assigned

Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: get lookup related | Triage Stage: Accepted
fields |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* status: new => assigned
* owner: nobody => felixxm


--
Ticket URL: <https://code.djangoproject.com/ticket/27268#comment:2>

Django

unread,
Sep 27, 2016, 2:51:04 PM9/27/16
to django-...@googlegroups.com
#27268: Regression on error message for invalid related fields lookup in
QuerySet.get()
-------------------------------------+-------------------------------------
Reporter: François Freitag | Owner: felixxm
Type: Bug | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: get lookup related | Triage Stage: Ready for
fields | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham):

* has_patch: 0 => 1
* stage: Accepted => Ready for checkin


Comment:

[https://github.com/django/django/pull/7303 PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/27268#comment:3>

Django

unread,
Sep 27, 2016, 3:00:45 PM9/27/16
to django-...@googlegroups.com
#27268: Regression on error message for invalid related fields lookup in
QuerySet.get()
-------------------------------------+-------------------------------------
Reporter: François Freitag | Owner: felixxm
Type: Bug | Status: closed

Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution: fixed

Keywords: get lookup related | Triage Stage: Ready for
fields | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"14986a0b9d5ef9e89eb9b9cac561d5baab89f123" 14986a0]:
{{{
#!CommitTicketReference repository=""
revision="14986a0b9d5ef9e89eb9b9cac561d5baab89f123"
Fixed #27268 -- Restored an invalid related field lookup error message in
QuerySet filtering.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/27268#comment:4>

Reply all
Reply to author
Forward
0 new messages