Ticket #16180: ticket_16180_for_r16345.diff
File ticket_16180_for_r16345.diff, 2.4 KB (added by , 13 years ago) |
---|
-
tests/regressiontests/admin_views/tests.py
507 507 try: 508 508 self.client.get("/test_admin/admin/admin_views/thing/?color__value__startswith=red") 509 509 self.client.get("/test_admin/admin/admin_views/thing/?color__value=red") 510 # allowed explicitly in a custom changelist 511 self.client.get("/test_admin/admin/admin_views/album/?allowed_param=1") 510 512 except SuspiciousOperation: 511 513 self.fail("Filters are allowed if explicitly included in list_filter") 512 514 -
tests/regressiontests/admin_views/models.py
620 620 def get_query_set(self, request): 621 621 return self.root_query_set.filter(pk=9999) # Does not exist 622 622 623 class AllowedParamChangeList(ChangeList): 624 625 def get_ignored_lookup_params(self): 626 return super(AllowedParamChangeList, self).get_ignored_lookup_params() + ('allowed_param', ) 627 623 628 class GadgetAdmin(admin.ModelAdmin): 624 629 def get_changelist(self, request, **kwargs): 625 630 return CustomChangeList … … 706 711 class AlbumAdmin(admin.ModelAdmin): 707 712 list_filter = ['title'] 708 713 714 def get_changelist(self, request, **kwargs): 715 return AllowedParamChangeList 716 709 717 class Employee(Person): 710 718 code = models.CharField(max_length=20) 711 719 -
django/contrib/admin/views/main.py
252 252 ordering_fields[idx] = 'desc' if pfx == '-' else 'asc' 253 253 return ordering_fields 254 254 255 def get_ignored_lookup_params(self): 256 return IGNORED_PARAMS 257 255 258 def get_lookup_params(self, use_distinct=False): 256 259 lookup_params = self.params.copy() # a dictionary of the query string 257 260 258 for ignored in IGNORED_PARAMS:261 for ignored in self.get_ignored_lookup_params(): 259 262 if ignored in lookup_params: 260 263 del lookup_params[ignored] 261 264