Changeset 6216
- Timestamp:
- 09/14/07 16:13:07 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin/django/contrib/admin/filterspecs.py
r6103 r6216 14 14 class FilterSpec(object): 15 15 filter_specs = [] 16 def __init__(self, f, request, params, model ):16 def __init__(self, f, request, params, model, model_admin): 17 17 self.field = f 18 18 self.params = params … … 22 22 register = classmethod(register) 23 23 24 def create(cls, f, request, params, model ):24 def create(cls, f, request, params, model, model_admin): 25 25 for test, factory in cls.filter_specs: 26 26 if test(f): 27 return factory(f, request, params, model )27 return factory(f, request, params, model, model_admin) 28 28 create = classmethod(create) 29 29 … … 51 51 52 52 class RelatedFilterSpec(FilterSpec): 53 def __init__(self, f, request, params, model ):54 super(RelatedFilterSpec, self).__init__(f, request, params, model )53 def __init__(self, f, request, params, model, model_admin): 54 super(RelatedFilterSpec, self).__init__(f, request, params, model, model_admin) 55 55 if isinstance(f, models.ManyToManyField): 56 56 self.lookup_title = f.rel.to._meta.verbose_name … … 80 80 81 81 class ChoicesFilterSpec(FilterSpec): 82 def __init__(self, f, request, params, model ):83 super(ChoicesFilterSpec, self).__init__(f, request, params, model )82 def __init__(self, f, request, params, model, model_admin): 83 super(ChoicesFilterSpec, self).__init__(f, request, params, model, model_admin) 84 84 self.lookup_kwarg = '%s__exact' % f.name 85 85 self.lookup_val = request.GET.get(self.lookup_kwarg, None) … … 97 97 98 98 class DateFieldFilterSpec(FilterSpec): 99 def __init__(self, f, request, params, model ):100 super(DateFieldFilterSpec, self).__init__(f, request, params, model )99 def __init__(self, f, request, params, model, model_admin): 100 super(DateFieldFilterSpec, self).__init__(f, request, params, model, model_admin) 101 101 102 102 self.field_generic = '%s__' % self.field.name … … 132 132 133 133 class BooleanFieldFilterSpec(FilterSpec): 134 def __init__(self, f, request, params, model ):135 super(BooleanFieldFilterSpec, self).__init__(f, request, params, model )134 def __init__(self, f, request, params, model, model_admin): 135 super(BooleanFieldFilterSpec, self).__init__(f, request, params, model, model_admin) 136 136 self.lookup_kwarg = '%s__exact' % f.name 137 137 self.lookup_kwarg2 = '%s__isnull' % f.name … … 158 158 # more appropriate, and the AllValuesFilterSpec won't get used for it. 159 159 class AllValuesFilterSpec(FilterSpec): 160 def __init__(self, f, request, params, model ):161 super(AllValuesFilterSpec, self).__init__(f, request, params, model )160 def __init__(self, f, request, params, model, model_admin): 161 super(AllValuesFilterSpec, self).__init__(f, request, params, model, model_admin) 162 162 self.lookup_val = request.GET.get(f.name, None) 163 self.lookup_choices = model ._default_manager.distinct().order_by(f.name).values(f.name)163 self.lookup_choices = model_admin.queryset(request).distinct().order_by(f.name).values(f.name) 164 164 165 165 def title(self): django/branches/newforms-admin/django/contrib/admin/views/main.py
r5997 r6216 183 183 filter_fields = [self.lookup_opts.get_field(field_name) for field_name in self.list_filter] 184 184 for f in filter_fields: 185 spec = FilterSpec.create(f, request, self.params, self.model )185 spec = FilterSpec.create(f, request, self.params, self.model, self.model_admin) 186 186 if spec and spec.has_output(): 187 187 filter_specs.append(spec)
