Opened 11 years ago
Last modified 11 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 , 11 years ago
| Triage Stage: | Unreviewed → Accepted |
|---|---|
| Version: | 1.7 → master |
Note:
See TracTickets
for help on using tickets.
I think the
pre_saveshould really be inside the same transaction as thesavepart. I'm a bit less convinced about thepost_save(that is should apost_saveerror be able to "cancel" asave?), but it might be the case also.