Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #11116 -- Corrected the deletion of proxy objects. Thanks to Sa…

…muel Adam for the fix.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10824 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 2e24596001bce6e827e31510241834ccff76979f 1 parent b9b9ca3
@freakboy3742 freakboy3742 authored
View
2  django/db/models/base.py
@@ -538,7 +538,7 @@ def _collect_sub_objects(self, seen_objs, parent=None, nullable=False):
# traversing to the most remote parent classes -- those with no parents
# themselves -- and then adding those instances to the collection. That
# will include all the child instances down to "self".
- parent_stack = self._meta.parents.values()
+ parent_stack = [p for p in self._meta.parents.values() if p is not None]
while parent_stack:
link = parent_stack.pop()
parent_obj = getattr(self, link.name)
View
9 tests/modeltests/proxy_models/models.py
@@ -276,6 +276,15 @@ class Meta:
>>> UserProxyProxy.objects.all()
[<UserProxyProxy: Bruce>]
+# Proxy objects can be deleted
+>>> u2 = UserProxy.objects.create(name='George')
+>>> UserProxy.objects.all()
+[<UserProxy: Bruce>, <UserProxy: George>]
+>>> u2.delete()
+>>> UserProxy.objects.all()
+[<UserProxy: Bruce>]
+
+
# We can still use `select_related()` to include related models in our querysets.
>>> country = Country.objects.create(name='Australia')
>>> state = State.objects.create(name='New South Wales', country=country)
Please sign in to comment.
Something went wrong with that request. Please try again.