[1.4.x] Fixed #18996 - Clarified overriden model methods not called on bulk operations

Backport of 443999a1ee from master.
This commit is contained in:
Tim Graham 2012-10-12 16:45:45 -07:00
parent e2dea54efe
commit d2891d1c07
1 changed files with 8 additions and 1 deletions

View File

@ -761,7 +761,7 @@ built-in model methods, adding new arguments. If you use ``*args,
**kwargs`` in your method definitions, you are guaranteed that your
code will automatically support those arguments when they are added.
.. admonition:: Overriding Delete
.. admonition:: Overridden model methods are not called on bulk operations
Note that the :meth:`~Model.delete()` method for an object is not
necessarily called when :ref:`deleting objects in bulk using a
@ -769,6 +769,13 @@ code will automatically support those arguments when they are added.
gets executed, you can use :data:`~django.db.models.signals.pre_delete`
and/or :data:`~django.db.models.signals.post_delete` signals.
Unfortunately, there isn't a workaround when
:meth:`creating<django.db.models.query.QuerySet.bulk_create>` or
:meth:`updating<django.db.models.query.QuerySet.update>` objects in bulk,
since none of :meth:`~Model.save()`,
:data:`~django.db.models.signals.pre_save`, and
:data:`~django.db.models.signals.post_save` are called.
Executing custom SQL
--------------------