import django_filters from .models import Event, EventParticipant, MethodicalFile class EventFilter(django_filters.FilterSet): name = django_filters.CharFilter(lookup_expr="icontains") location = django_filters.CharFilter(lookup_expr="icontains") date_after = django_filters.DateFilter(field_name="date", lookup_expr="gte") date_before = django_filters.DateFilter(field_name="date", lookup_expr="lte") class Meta: model = Event fields = ["name", "location", "date_after", "date_before"] class EventParticipantFilter(django_filters.FilterSet): student_name = django_filters.CharFilter( field_name="student__account__first_name", lookup_expr="icontains" ) event_name = django_filters.CharFilter(field_name="event__name", lookup_expr="icontains") class Meta: model = EventParticipant fields = ["student_name", "event_name", "points"] class MethodicalFileFilter(django_filters.FilterSet): name = django_filters.CharFilter(lookup_expr="icontains") specialty_name = django_filters.CharFilter( field_name="specialty__name", lookup_expr="icontains" ) class Meta: model = MethodicalFile fields = ["name", "specialty_name", "upload_date"]