Files
ProFi/events/filters.py

35 lines
1.2 KiB
Python
Raw Normal View History

2025-05-19 17:10:30 +03:00
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"]