Django

Code

Changeset 618

Show
Ignore:
Timestamp:
09/02/05 17:54:12 (3 years ago)
Author:
adrian
Message:

Fixed #351 -- views.generic.list_detail.object_list now respects allow_empty when paginating. Thanks, kmh

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/views/generic/list_detail.py

    r434 r618  
    4141            object_list = paginator.get_page(page) 
    4242        except InvalidPage: 
    43             raise Http404 
     43            if page == 0 and allow_empty: 
     44                object_list = [] 
     45            else: 
     46                raise Http404 
    4447        page = int(page) 
    4548        c = Context(request, { 
    4649            'object_list': object_list, 
    47             'is_paginated' : True, 
    48             'results_per_page' : paginate_by, 
     50            'is_paginated': True, 
     51            'results_per_page': paginate_by, 
    4952            'has_next': paginator.has_next_page(page), 
    5053            'has_previous': paginator.has_previous_page(page), 
     
    5760        object_list = mod.get_list(**lookup_kwargs) 
    5861        c = Context(request, { 
    59             'object_list' : object_list, 
    60             'is_paginated' : False 
     62            'object_list': object_list, 
     63            'is_paginated': False 
    6164        }) 
    62     if len(object_list) == 0 and not allow_empty: 
    63         raise Http404 
     65        if len(object_list) == 0 and not allow_empty: 
     66            raise Http404 
    6467    for key, value in extra_context.items(): 
    6568        if callable(value): 
     
    104107        t = template_loader.get_template(template_name) 
    105108    c = Context(request, { 
    106         'object' : object, 
     109        'object': object, 
    107110    }) 
    108111    for key, value in extra_context.items():