Opened 20 months ago

Closed 3 months ago

#21175 closed Bug (wontfix)

abstract base model classes never fire class_prepared signal

Reported by: carljm Owned by: cbabs
Component: Database layer (models, ORM) Version: 1.5
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: yes
Easy pickings: no UI/UX: no

Description

I can't think of a reason why this would be the preferred behavior.

In fact, ensure_default_managers (which is one of two uses of class_prepared in Django itself) is written with a specific case to handle abstract classes, even though it will never receive one, so clearly somebody else had an expectation that they would fire the signal too.

Change History (5)

comment:1 Changed 20 months ago by EvilDMP

  • Triage Stage changed from Unreviewed to Accepted

comment:2 Changed 19 months ago by cbabs

  • Owner changed from nobody to cbabs
  • Status changed from new to assigned

comment:4 Changed 12 months ago by timo

  • Has patch set
  • Patch needs improvement set

Left some comments for improvement on the PR. Please uncheck "Patch needs improvement" if you can update it, thanks.

comment:5 Changed 3 months ago by carljm

  • Resolution set to wontfix
  • Status changed from assigned to closed

I am closing this; in light of #24313 and discussion on #24215, I no longer think it makes sense for abstract models to fire class_prepared. (In fact I'm hopeful that we can get rid of class_prepared altogether, making it moot.)

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