Opened 3 years ago

Closed 19 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


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 3 years ago by EvilDMP

  • Triage Stage changed from Unreviewed to Accepted

comment:2 Changed 3 years ago by cbabs

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

comment:4 Changed 2 years 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 19 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