summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2013-01-14 13:48:31 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2013-01-14 13:48:31 -0800
commitc346d358fdca2e375a0840664165a51a47f4ae69 (patch)
tree6f636eb35cb532ab04e82fcc9ca66b1f9aa5abde /django
parent4720117a31344483119856fb5ed803fe4c35936f (diff)
parenta7ed09d13d9532089bd2380edab1df5df96082a6 (diff)
Merge pull request #642 from dcramer/patch-1
Send post_delete signals immediately
Diffstat (limited to 'django')
-rw-r--r--django/db/models/deletion.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/django/db/models/deletion.py b/django/db/models/deletion.py
index 1c3a582fc5..81f74923c2 100644
--- a/django/db/models/deletion.py
+++ b/django/db/models/deletion.py
@@ -75,17 +75,17 @@ class Collector(object):
self.using = using
# Initially, {model: set([instances])}, later values become lists.
self.data = {}
- self.field_updates = {} # {model: {(field, value): set([instances])}}
+ self.field_updates = {} # {model: {(field, value): set([instances])}}
# fast_deletes is a list of queryset-likes that can be deleted without
# fetching the objects into memory.
- self.fast_deletes = []
+ self.fast_deletes = []
# Tracks deletion-order dependency for databases without transactions
# or ability to defer constraint checks. Only concrete model classes
# should be included, as the dependencies exist only between actual
# database tables; proxy models are represented here by their concrete
# parent.
- self.dependencies = {} # {model: set([models])}
+ self.dependencies = {} # {model: set([models])}
def add(self, objs, source=None, nullable=False, reverse_dependency=False):
"""
@@ -301,12 +301,11 @@ class Collector(object):
pk_list = [obj.pk for obj in instances]
query.delete_batch(pk_list, self.using)
- # send post_delete signals
- for model, obj in self.instances_with_model():
if not model._meta.auto_created:
- signals.post_delete.send(
- sender=model, instance=obj, using=self.using
- )
+ for obj in instances:
+ signals.post_delete.send(
+ sender=model, instance=obj, using=self.using
+ )
# update collected instances
for model, instances_for_fieldvalues in six.iteritems(self.field_updates):