Django

Code

Changeset 4342

Show
Ignore:
Timestamp:
01/16/07 20:13:06 (1 year ago)
Author:
adrian
Message:

newforms-admin: Backwards-incompatible change: Removed undocumented Admin.manager option in favor of Admin.change_list_queryset() method

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin/django/contrib/admin/options.py

    r4340 r4342  
    9595        opts = self.opts 
    9696        return request.user.has_perm(opts.app_label + '.' + opts.get_delete_permission()) 
     97 
     98    def change_list_queryset(self, request): 
     99        return self.model._default_manager.get_query_set() 
    97100 
    98101    def add_view(self, request, show_delete=False, form_url='', post_url=None, post_url_continue='../%s/', object_id_override=None): 
     
    281284        try: 
    282285            cl = ChangeList(request, self.model, self.list_display, self.list_display_links, self.list_filter, 
    283                 self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page
     286                self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page, self
    284287        except IncorrectLookupParameters: 
    285288            # Wacky lookup parameters were given, so redirect to the main 
  • django/branches/newforms-admin/django/contrib/admin/views/main.py

    r4340 r4342  
    294294 
    295295class ChangeList(object): 
    296     def __init__(self, request, model, list_display, list_display_links, list_filter, date_hierarchy, search_fields, list_select_related, list_per_page): 
     296    def __init__(self, request, model, list_display, list_display_links, list_filter, date_hierarchy, search_fields, list_select_related, list_per_page, model_admin): 
    297297        self.model = model 
    298298        self.opts = model._meta 
    299299        self.lookup_opts = self.opts 
    300         self.manager = self.opts.admin.manager 
     300        self.root_query_set = model_admin.change_list_queryset(request) 
    301301        self.list_display = list_display 
    302302        self.list_display_links = list_display_links 
     
    373373            full_result_count = result_count 
    374374        else: 
    375             full_result_count = self.manager.count() 
     375            full_result_count = self.root_query_set.count() 
    376376 
    377377        can_show_all = result_count <= MAX_SHOW_ALL_ALLOWED 
     
    425425 
    426426    def get_query_set(self): 
    427         qs = self.manager.get_query_set() 
     427        qs = self.root_query_set 
    428428        lookup_params = self.params.copy() # a dictionary of the query string 
    429429        for i in (ALL_VAR, ORDER_VAR, ORDER_TYPE_VAR, SEARCH_VAR, IS_POPUP_VAR): 
  • django/branches/newforms-admin/django/db/models/base.py

    r4341 r4342  
    138138            cls._meta.ModelAdmin = type('ModelAdmin', (value, ModelAdmin), {}) 
    139139            # This AdminOptions stuff is legacy and will eventually be removed. 
    140             value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as', 'search_fields', 'list_select_related', 'list_per_page', 'ordering', 'save_on_top', 'js')])) 
     140            value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as', 'search_fields', 'list_select_related', 'list_per_page', 'ordering', 'save_on_top', 'js', 'manager')])) 
    141141            value.contribute_to_class(cls, name) 
    142142        elif hasattr(value, 'contribute_to_class'): 
  • django/branches/newforms-admin/django/db/models/options.py

    r4340 r4342  
    55from django.db.models.loading import get_models 
    66from django.db.models.query import orderlist2sql 
    7 from django.db.models import Manager 
    87from bisect import bisect 
    98import re 
     
    200199 
    201200class AdminOptions(object): 
    202     def __init__(self, fields=None, manager=None): 
     201    def __init__(self, fields=None): 
    203202        self.fields = fields 
    204         self.manager = manager or Manager() 
    205203 
    206204    def get_field_sets(self, opts): 
     
    221219    def contribute_to_class(self, cls, name): 
    222220        cls._meta.admin = self 
    223         # Make sure the admin manager has access to the model 
    224         self.manager.model = cls 
    225221 
    226222class AdminFieldSet(object):