summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-08-08 18:30:07 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-08-08 18:30:07 +0000
commita90e9f43db394565502c040502d8a4421767ba0b (patch)
tree96299dce088d34d3be2d1b8673a9088f81bb5046 /django
parentb7e5121684afa36739c1aa9bbb96401645dbc417 (diff)
Companion checkin to [432]
git-svn-id: http://code.djangoproject.com/svn/django/trunk@433 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/core/meta/__init__.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/django/core/meta/__init__.py b/django/core/meta/__init__.py
index bcd8ad4b96..06c3aca3a6 100644
--- a/django/core/meta/__init__.py
+++ b/django/core/meta/__init__.py
@@ -756,6 +756,9 @@ def method_save(opts, self):
def method_delete(opts, self):
assert getattr(self, opts.pk.name) is not None, "%r can't be deleted because it doesn't have an ID."
+ # Run any pre-delete hooks.
+ if hasattr(self, '_pre_delete'):
+ self._pre_delete()
cursor = db.db.cursor()
for rel_opts, rel_field in opts.get_all_related_objects():
rel_opts_name = opts.get_rel_object_method_name(rel_opts, rel_field)
@@ -782,6 +785,9 @@ def method_delete(opts, self):
# delete it from the filesystem.
if os.path.exists(file_name) and not opts.get_model_module().get_list(**{'%s__exact' % f.name: getattr(self, f.name)}):
os.remove(file_name)
+ # Run any post-delete hooks.
+ if hasattr(self, '_post_delete'):
+ self._post_delete()
def method_get_next_in_order(opts, order_field, self):
if not hasattr(self, '_next_in_order_cache'):