id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 19182 ModelAdmin filtering when list_filter = (('fieldname', ClassName),) throws SuspiciousOperation exception Andrey Gusev nobody "Admin raises SuspiciousOperation on using complex query like {{{ghi__jkl__contains}}} in custom list filter described by {{{('fieldpath', ClassName )}}} syntax. {{{#!python class MyModelAdmin(ModelAdmin): ... list_filter = ( 'abc', 'def', ( 'ghi__jkl__contains', MyListFilter ) ) ... }}} Simple but ugly fix by replacing last line of {{{ModelAdmin.lookup_allowed}}} (around line 270 in contrib/admin/options.py): {{{#!diff clean_lookup = LOOKUP_SEP.join(parts) --- return clean_lookup in self.list_filter or clean_lookup == self.date_hierarchy +++ return any([ ( clean_lookup == ( i[0] if isinstance(i, tuple) else i ) ) for i in self.list_filter ]) or clean_lookup == self.date_hierarchy }}} " Bug closed contrib.admin 1.4 Normal fixed modeladmin lookup_allowed r1chardj0n3s schillingt@… Paul Garner chris+django@… Accepted 1 0 0 0 0 0