old_console/incident/filters.py
2024-11-02 14:12:45 +03:00

18 lines
540 B
Python

from django_filters import FilterSet, MultipleChoiceFilter, CharFilter
from incident.models import Incident
class IncidentFilters(FilterSet):
"""Filters and ordering for Incidents"""
assets = CharFilter(method='assets_filter')
def assets_filter(self, queryset, name: str, value: str):
"""filtering by asset ids format sting with `,` example: ?asset=1,2,3"""
_value = set(value.split(','))
return queryset.filter(asset__in=_value)
class Meta:
model = Incident
fields = ['asset']