Changes between Initial Version and Version 1 of Ticket #20932, comment 12


Ignore:
Timestamp:
Feb 17, 2016, 1:51:58 AM (8 years ago)
Author:
Loic Bistuer

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #20932, comment 12

    initial v1  
    1515If 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.
    1616
    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 manager on itself or one of its abstract parents).
     17If 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).
Back to Top