Opened 3 years ago

Last modified 3 years ago

#24228 new Bug

Signals have unclear & inconsistent transaction handling

Reported by: Ryan Gaffney Owned by: nobody
Component: Database layer (models, ORM) Version: master
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 Changed 3 years ago by Claude Paroz

Triage Stage: UnreviewedAccepted
Version: 1.7master

I think the pre_save should really be inside the same transaction as the save part. I'm a bit less convinced about the post_save (that is should a post_save error be able to "cancel" a save?), but it might be the case also.

Note: See TracTickets for help on using tickets.
Back to Top