There are currently inconsistencies with how ModelAdmin decides on
what query set (i.e. manager) it's using.

Issue 1: The change list it uses ModelAdmin.queryset() while the
change view uses ModelAdmin.model._default_manager

Issue 2: Also, when searching, ChangeList uses the base QuerySet model
- I haven't looked too hard to see exactly why, but it was mentioned
in the wontfixed ticket #7795 [1]. The reason Malcolm gave seems
incorrect since now you can override the admin's manager
using .queryset()

The only problem is that if you do override .queryset(), you currently
have to override the whole change_view and delete_view methods to
match - see #7510 [2].

Regarding issue 2, Brian Rosner noticed that the fix malcolm applied
in #7113 [2] differed from the actual reason he accepted the issue
(not hardcoding QuerySet).

The solution seems to be just to fix everything to use
ModelAdmin.queryset() (maybe with an abstraction of the manager like
in the most recent ticket of #7510 [4]. Would this be breaking any
meaningful backwards compatibility?

[1] http://code.djangoproject.com/ticket/7795
[2] http://code.djangoproject.com/ticket/7510
[3] http://code.djangoproject.com/ticket/7113
[4] http://code.djangoproject.com/attachment/ticket/7510/options.diff
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to