Changes between Initial Version and Version 1 of Ticket #20932, comment 12
- Timestamp:
- Feb 17, 2016, 1:51:58 AM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #20932, comment 12
initial v1 15 15 If we don't create it, then we have a backwards incompatibility but with some (maybe lots of) efforts it should be possible to add a deprecation period. The upside is that it becomes easy to explain and reason about since the behavior would now be consistent across all 3 types of inheritances. 16 16 17 If we do create it, then we remain compatible at the expense of more convoluted logic when deciding whether or not to create the `objects` manager and more complicated rules in the documentation. We also make `objects` a special case, because if an inherited custom manager is called `objects` it will be overridden by a plain `models.Manager()` instance (and only of the child model doesn't have any other declared manageron itself or one of its abstract parents).17 If we do create it, then we remain compatible at the expense of more convoluted logic when deciding whether or not to create the `objects` manager and more complicated rules in the documentation. We also make `objects` a special case, because if an inherited custom manager is called `objects` it will be overridden by a plain `models.Manager()` instance (and only if the child model doesn't have any other declared managers on itself or one of its abstract parents).