Thanks for your work on this! I'm working my way through the patch,
and it's looking good. I'm pretty happy with the internals, though I
do have some questions about the public API:
* I'm rather unhappy with the `SimpleListFilter`/`FieldListFilter`
breakdown, and especially the way `FieldListFilter` is documented.
This isn't friendly:
Note that this method is far more complex than simply using a field
name or a ``SimpleListFilter`` class, as there currently is no simple
way available to manipulate a ``FieldListFilter``. You may, however,
find some useful examples with the built-in filters defined in
:mod:`django.contrib.admin.filterspecs`.
Ugh.
It seems to me that `FieldListFilter` is something of an internal
detail required to maintain the existence of a bunch of pre-refactor
stuff, right? If so, I think I'd like to see `SimpleListFilter`
renamed to something more obvious (maybe call it `ListFilter` and call
the parent class `BaseListFilter` or collapse it into a single class).
Then the docs can explain that a list filter could be a
`FieldListFilter` but that that API is considered internal and prone
to change/refactoring. Make sense?
* There's a weird discrepancy (to me) between the signatures of
`get_choices(self, request)` and `get_query_set(self, changelist,
queryset)`. I'd expect to have the `request` available to both
methods, I think, and I don't really know what `changelist` is doing
there or what I'd use it for. Can you talk a bit about why those
signatures work that way?
* `def get_title(self): return "size"` seems like overkill -- why not
just `title="size"`?
Thanks again!
Jacob