Merged in jgsogo/django-model-utils (pull request #5)

patch to issue #16
This commit is contained in:
Carl Meyer 2013-01-26 16:40:26 -08:00
commit 8808aa05b8

View file

@ -6,6 +6,7 @@ from django.db import models
from django.db.models.fields.related import OneToOneField
from django.db.models.manager import Manager
from django.db.models.query import QuerySet
from django.core.exceptions import ObjectDoesNotExist
class InheritanceQuerySet(QuerySet):
@ -33,7 +34,12 @@ class InheritanceQuerySet(QuerySet):
iter = super(InheritanceQuerySet, self).iterator()
if getattr(self, 'subclasses', False):
for obj in iter:
sub_obj = [getattr(obj, s) for s in self.subclasses if getattr(obj, s)] or [obj]
def get_attr(obj, s):
try:
return getattr(obj,s)
except ObjectDoesNotExist:
return None
sub_obj = [getattr(obj, s) for s in self.subclasses if get_attr(obj, s)] or [obj]
sub_obj = sub_obj[0]
if getattr(self, '_annotated', False):
for k in self._annotated: