#14133
-
TIL django-filter has a built-in `CSVWidget` for comma-separated values.
It can be used with `AllValuesMultipleFilter` and will trigger a `distinct` SQL query to validate that each ID really exists:
```
ids = AllValuesMultipleFilter(field_name="id", widget=CSVWidget)
```
`BaseInFilter` can be used to avoid the `distinct` query:
```
class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):
pass
ids = NumberInFilter(field_name="id", widget=CSVWidget)
```
https://github.com/carltongibson/django-filter/issues/727 #django 24/03/2025 à 16:19