carltongibson / django-filter

A generic system for filtering Django QuerySets based on user selections
https://django-filter.readthedocs.io/en/main/
Other
4.39k stars 760 forks source link

Fixed OrderingFilter handling of empty values. #1628

Closed carltongibson closed 7 months ago

carltongibson commented 7 months ago

A trailing comma would cause a crash trying to map an empty value to a field name. Ensure sub-values are filtered for EMPTY_VALUES in addition to the main filter data.

Closes #1597.

Hi @munnsmunns, @scott-8. Sorry for the slow uptake: it was a while getting the bandwidth.

Here's an alternate take on #1598.

The behaviour of CSVWidget to map "," to ["",""] is covered by regression tests, so OrderingFilter needs to filter these prior to filtering. The natural place for such is in the filter method, where the empty check occurs for all filters.

If you have the space, could you give it a run and let me know if it works for you? Thanks.

scott-8 commented 7 months ago

Thanks for taking a look @carltongibson! I can confirm this works for me.

munnsmunns commented 7 months ago

Works for me as well, thanks a bunch @carltongibson!

carltongibson commented 7 months ago

Thanks both! Version 23.5 is available on PyPI now.