Opened 10 years ago
Last modified 10 years ago
#24228 new Bug
Signals have unclear & inconsistent transaction handling
Reported by: | Ryan Gaffney | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Normal | Keywords: | transaction, signals, documentation |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Hello
The signals documentation says nothing about transactions.
Looking in deletion.py, pre_delete and post_delete are within a transaction.
In base.py, however, pre_save and post_save are not within a transaction.
Whether this inconsistency is a bug is beyond my Django knowledge to determine, but regardless, it should be clear in the documentation what signals are within transactions.
Change History (1)
comment:1 by , 10 years ago
Triage Stage: | Unreviewed → Accepted |
---|---|
Version: | 1.7 → master |
Note:
See TracTickets
for help on using tickets.
I think the
pre_save
should really be inside the same transaction as thesave
part. I'm a bit less convinced about thepost_save
(that is should apost_save
error be able to "cancel" asave
?), but it might be the case also.