diff options
| author | Carl Meyer <carl@oddbird.net> | 2010-11-09 16:35:39 +0000 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2010-11-09 16:35:39 +0000 |
| commit | a8114d64d55aaea4d0c4f995affbf883109fa9ef (patch) | |
| tree | 41e931d7c680630e27e877b126d8103fccf2de0e /docs | |
| parent | 66c72b1f80ed5bfc4001e42e9062e5a2b2db3830 (diff) | |
Fixed #14599 -- Added documentation for QuerySet.delete() in the QuerySet API reference. Thanks to abeld for the report. Backport of r14505 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/models/querysets.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 18cc1c679e..c9a640f560 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1246,6 +1246,37 @@ The ``update()`` method does a bulk update and does not call any ``save()`` methods on your models, nor does it emit the ``pre_save`` or ``post_save`` signals (which are a consequence of calling ``save()``). +``delete()`` +~~~~~~~~~~~~~~~~~~~~ + +.. method:: delete() + +Performs an SQL delete query on all rows in the :class:`QuerySet`. The +``delete()`` is applied instantly. You cannot call ``delete()`` on a +:class:`QuerySet` that has had a slice taken or can otherwise no longer be +filtered. + +For example, to delete all the entries in a particular blog:: + + >>> b = Blog.objects.get(pk=1) + + # Delete all the entries belonging to this Blog. + >>> Entry.objects.filter(blog=b).delete() + +Django emulates the SQL constraint ``ON DELETE CASCADE`` -- in other words, any +objects with foreign keys pointing at the objects to be deleted will be deleted +along with them. For example:: + + blogs = Blog.objects.all() + # This will delete all Blogs and all of their Entry objects. + blogs.delete() + +The ``delete()`` method does a bulk delete and does not call any ``delete()`` +methods on your models. It does, however, emit the +:data:`~django.db.models.signals.pre_delete` and +:data:`~django.db.models.signals.post_delete` signals for all deleted objects +(including cascaded deletions). + .. _field-lookups: Field lookups |
