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.
--
Ticket URL: <https://code.djangoproject.com/ticket/21175>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/21175#comment:1>
* owner: nobody => cbabs
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/21175#comment:2>
Comment (by cbabs):
Pull request: https://github.com/django/django/pull/1916
--
Ticket URL: <https://code.djangoproject.com/ticket/21175#comment:3>
* needs_better_patch: 0 => 1
* has_patch: 0 => 1
Comment:
Left some comments for improvement on the PR. Please uncheck "Patch needs
improvement" if you can update it, thanks.
--
Ticket URL: <https://code.djangoproject.com/ticket/21175#comment:4>
* status: assigned => closed
* resolution: => wontfix
Comment:
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.)
--
Ticket URL: <https://code.djangoproject.com/ticket/21175#comment:5>