Django

Code

Changeset 7418

Show
Ignore:
Timestamp:
04/12/08 23:42:08 (5 months ago)
Author:
mtredinnick
Message:

queryset-refactor: When using select_related() with an explicit foreign key,
use the right join type if the FK is nullable. Fixed #6981.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/queryset-refactor/django/db/models/sql/query.py

    r7344 r7418  
    794794                    int_opts = int_model._meta 
    795795                    alias = self.join((alias, int_opts.db_table, lhs_col, 
    796                             int_opts.pk.column), exclusions=used) 
     796                            int_opts.pk.column), exclusions=used, 
     797                            promote=f.null) 
    797798            else: 
    798799                alias = root_alias 
    799800            alias = self.join((alias, table, f.column, 
    800                     f.rel.get_related_field().column), exclusions=used) 
     801                    f.rel.get_related_field().column), exclusions=used, 
     802                    promote=f.null) 
    801803            used.add(alias) 
    802804            self.select.extend([(alias, f2.column) 
  • django/branches/queryset-refactor/tests/regressiontests/queries/models.py

    r7417 r7418  
    562562[<Author: a1>] 
    563563 
     564Bug #6981 
     565>>> Tag.objects.select_related('parent').order_by('name') 
     566[<Tag: t1>, <Tag: t2>, <Tag: t3>, <Tag: t4>, <Tag: t5>] 
     567 
    564568Bug #6180, #6203 
    565569>>> Item.objects.count()