From a419079347676ab4fccd264a5e9c555a2603b9bb Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Tue, 27 Feb 2007 03:48:49 +0000 Subject: [PATCH] Fixed #2264: the docs now mention that delete() cascades. Thanks, Ubernostrum git-svn-id: http://code.djangoproject.com/svn/django/trunk@4636 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/db-api.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/db-api.txt b/docs/db-api.txt index 99bb30054b..3dc0efbabd 100644 --- a/docs/db-api.txt +++ b/docs/db-api.txt @@ -1621,6 +1621,15 @@ For example, this deletes all ``Entry`` objects with a ``pub_date`` year of Entry.objects.filter(pub_date__year=2005).delete() +When Django deletes an object, it emulates the behavior of the SQL +constraint ``ON DELETE CASCADE`` -- in other words, any objects which +had foreign keys pointing at the object to be deleted will be deleted +along with it. For example:: + + b = Blog.objects.get(pk=1) + # This will delete the Blog and all of its Entry objects. + b.delete() + Note that ``delete()`` is the only ``QuerySet`` method that is not exposed on a ``Manager`` itself. This is a safety mechanism to prevent you from accidentally requesting ``Entry.objects.delete()``, and deleting *all* the entries. If you