Opened 17 years ago
Closed 17 years ago
#7045 closed (fixed)
extra(tables=...) was sometimes causing an exception
Reported by: | anonymous | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | queryset-refactor |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Customer.objects.extra(select={'mid' : '!customerj.id'}, tables=['customerj'], where=['!app_customer.id=customerj.id'])
raises exception:
Request Method: POST[[BR]] Request URL: !http://127.0.0.1:8000/app/CustomerList/ [[BR]] Exception Type: !KeyError[[BR]] Exception Value: 'customerj'[[BR]] Exception Location: /home/bring/src/queryset-refactor/django/db/models/sql/query.py in get_from_clause, line 423[[BR]] Python Executable: /usr/bin/python[[BR]] Python Version: 2.5.1
Change History (3)
comment:1 by , 17 years ago
Description: | modified (diff) |
---|
comment:2 by , 17 years ago
Summary: | db.models.sql.Query.add_extra() does not append extra tables to Query.alias_map dict → extra(tables=...) was sometimes causing an exception |
---|---|
Triage Stage: | Unreviewed → Accepted |
The original title of this ticket isn't actually a bug; it's intentional. I've changed the title to reflect the real problem a bit better in case somebody else is seeing this.
After a bit of experimenting, however, I was able to repeat the problem you're seeing and it's not quite for the reason you thought. It only happened when get_from_clause()
was called more than once. The commit to fix this ticket handles that case now.
comment:3 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Fixed description.