Changeset 4342
- Timestamp:
- 01/16/07 20:13:06 (1 year ago)
- Files:
-
- django/branches/newforms-admin/django/contrib/admin/options.py (modified) (2 diffs)
- django/branches/newforms-admin/django/contrib/admin/views/main.py (modified) (3 diffs)
- django/branches/newforms-admin/django/db/models/base.py (modified) (1 diff)
- django/branches/newforms-admin/django/db/models/options.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin/django/contrib/admin/options.py
r4340 r4342 95 95 opts = self.opts 96 96 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() 97 100 98 101 def add_view(self, request, show_delete=False, form_url='', post_url=None, post_url_continue='../%s/', object_id_override=None): … … 281 284 try: 282 285 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) 284 287 except IncorrectLookupParameters: 285 288 # Wacky lookup parameters were given, so redirect to the main django/branches/newforms-admin/django/contrib/admin/views/main.py
r4340 r4342 294 294 295 295 class 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): 297 297 self.model = model 298 298 self.opts = model._meta 299 299 self.lookup_opts = self.opts 300 self. manager = self.opts.admin.manager300 self.root_query_set = model_admin.change_list_queryset(request) 301 301 self.list_display = list_display 302 302 self.list_display_links = list_display_links … … 373 373 full_result_count = result_count 374 374 else: 375 full_result_count = self. manager.count()375 full_result_count = self.root_query_set.count() 376 376 377 377 can_show_all = result_count <= MAX_SHOW_ALL_ALLOWED … … 425 425 426 426 def get_query_set(self): 427 qs = self. manager.get_query_set()427 qs = self.root_query_set 428 428 lookup_params = self.params.copy() # a dictionary of the query string 429 429 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 138 138 cls._meta.ModelAdmin = type('ModelAdmin', (value, ModelAdmin), {}) 139 139 # 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')])) 141 141 value.contribute_to_class(cls, name) 142 142 elif hasattr(value, 'contribute_to_class'): django/branches/newforms-admin/django/db/models/options.py
r4340 r4342 5 5 from django.db.models.loading import get_models 6 6 from django.db.models.query import orderlist2sql 7 from django.db.models import Manager8 7 from bisect import bisect 9 8 import re … … 200 199 201 200 class AdminOptions(object): 202 def __init__(self, fields=None , manager=None):201 def __init__(self, fields=None): 203 202 self.fields = fields 204 self.manager = manager or Manager()205 203 206 204 def get_field_sets(self, opts): … … 221 219 def contribute_to_class(self, cls, name): 222 220 cls._meta.admin = self 223 # Make sure the admin manager has access to the model224 self.manager.model = cls225 221 226 222 class AdminFieldSet(object):
