def filtered_list_detail(request, model_or_queryset, fields=[], exclude=[], page=0, paginate_by=10, **kwargs): """Returns a filtered list of given objects. """ field_names, filter_fields, object_list = filter_objects(request, model_or_queryset, fields=fields, exclude=exclude) extra_context = kwargs.pop('extra_context', {}) extra_context.update({ 'field_names': field_names, 'filter_fields': filter_fields, }) return list_detail.object_list(request, queryset=object_list, paginate_by=paginate_by, page=page, extra_context=extra_context, **kwargs)
def filter_by(context, object_list, fields=[], exclude=[], template_object_name="object"): """Allows filtering of arbitrary models. """ request = context['request'] field_names, filter_fields, filtered_object_list = filter_objects(request, object_list, fields, exclude) context['filter_field_names'] = field_names context['filter_fields'] = filter_fields context[u'%s_list' % template_object_name] = filtered_object_list return ""
def filtered_list_detail(request, model_or_queryset, fields=[], exclude=[], page=0, paginate_by=10, **kwargs): """Returns a filtered list of given objects. """ field_names, filter_fields, object_list = filter_objects( request, model_or_queryset, fields=fields, exclude=exclude ) extra_context = kwargs.pop('extra_context', {}) extra_context.update({ 'field_names': field_names, 'filter_fields': filter_fields, }) return list_detail.object_list( request, queryset=object_list, paginate_by=paginate_by, page=page, extra_context=extra_context, **kwargs )