#26749: Different manager for _base_manager and related descriptors
-------------------------------------+-------------------------------------
Reporter: spectras | Owner: nobody
Type: Uncategorized | Status: new
Component: Database layer | Version: 1.10
(models, ORM) |
Severity: Normal | Resolution:
Keywords: manager | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by spectras):
Alright, well maybe it's better to just summarize what is needed:
If user code did not change any manager, then:
→ hvad must override the default manager and the manager used by related
fields, for an hvad-enabled one.
And in all cases, even if the user did override a manager, then:
→ hvad must ensure the base manager is not hvad-enabled:
`isinstance(model._base_manager, TranslationManager)` is `False`).
This is because hvad-enabled manager is not suitable as a base manager.
Though it ''does'' provide the unfiltered-guarantee, it breaks because it
alters the behavior of the deletion collector.
I'll investigate whether it's possible to prevent that in a future
version, but that's probably a full rewrite with backward
incompatibilities, something not happening in time for Django 1.10.
--
Ticket URL: <https://code.djangoproject.com/ticket/26749#comment:11>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/066.7f7f5f86b6f93a0800581d73590a8eb5%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.