[1.1.X] Fixed #11764 -- Added a missing set of parentheses in a call calculating the select_related tables. Thanks to aurelio for the report and original patch, and wogan for the updated patch.

Backport of r13019 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@13020 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-04-23 14:30:29 +00:00
parent c8576fa674
commit 58c1a67ff1
2 changed files with 9 additions and 2 deletions

View File

@ -1380,8 +1380,8 @@ class BaseQuery(object):
lhs_col = int_opts.parents[int_model].column
dedupe = lhs_col in opts.duplicate_targets
if dedupe:
avoid.update(self.dupe_avoidance.get(id(opts), lhs_col),
())
avoid.update(self.dupe_avoidance.get((id(opts), lhs_col),
()))
dupe_set.add((opts, lhs_col))
int_opts = int_model._meta
alias = self.join((alias, int_opts.db_table, lhs_col,

View File

@ -56,6 +56,9 @@ class ParkingLot3(Place):
class Supplier(models.Model):
restaurant = models.ForeignKey(Restaurant)
class Wholesaler(Supplier):
retailer = models.ForeignKey(Supplier,related_name='wholesale_supplier')
class Parent(models.Model):
created = models.DateTimeField(default=datetime.datetime.now)
@ -238,6 +241,10 @@ True
>>> Supplier.objects.filter(restaurant=Restaurant(name='xx', address='yy'))
[]
# Regression test for #11764.
>>> for w in Wholesaler.objects.all().select_related():
... print w
# Regression test for #7853
# If the parent class has a self-referential link, make sure that any updates
# to that link via the child update the right table.