58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
|
|
import django_filters
|
||
|
|
from .models import AcademicYear, Department, DepartmentHead, Specialty, Group, Student
|
||
|
|
|
||
|
|
class AcademicYearFilter(django_filters.FilterSet):
|
||
|
|
year = django_filters.CharFilter(lookup_expr="icontains")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = AcademicYear
|
||
|
|
fields = ["year"]
|
||
|
|
|
||
|
|
|
||
|
|
class DepartmentFilter(django_filters.FilterSet):
|
||
|
|
name = django_filters.CharFilter(lookup_expr="icontains")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = Department
|
||
|
|
fields = ["name"]
|
||
|
|
|
||
|
|
|
||
|
|
class DepartmentHeadFilter(django_filters.FilterSet):
|
||
|
|
department_name = django_filters.CharFilter(field_name="department__name", lookup_expr="icontains")
|
||
|
|
head_name = django_filters.CharFilter(field_name="head__first_name", lookup_expr="icontains")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = DepartmentHead
|
||
|
|
fields = ["department_name", "head_name"]
|
||
|
|
|
||
|
|
|
||
|
|
class SpecialtyFilter(django_filters.FilterSet):
|
||
|
|
name = django_filters.CharFilter(lookup_expr="icontains")
|
||
|
|
code = django_filters.CharFilter(lookup_expr="icontains")
|
||
|
|
department_name = django_filters.CharFilter(field_name="department__name", lookup_expr="icontains")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = Specialty
|
||
|
|
fields = ["name", "code", "department_name"]
|
||
|
|
|
||
|
|
|
||
|
|
class GroupFilter(django_filters.FilterSet):
|
||
|
|
name = django_filters.CharFilter(lookup_expr="icontains")
|
||
|
|
curator_name = django_filters.CharFilter(field_name="curator__first_name", lookup_expr="icontains")
|
||
|
|
specialty_name = django_filters.CharFilter(field_name="specialty__name", lookup_expr="icontains")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = Group
|
||
|
|
fields = ["name", "curator_name", "specialty_name"]
|
||
|
|
|
||
|
|
|
||
|
|
class StudentFilter(django_filters.FilterSet):
|
||
|
|
first_name = django_filters.CharFilter(field_name="account__first_name", lookup_expr="icontains")
|
||
|
|
last_name = django_filters.CharFilter(field_name="account__last_name", lookup_expr="icontains")
|
||
|
|
group_name = django_filters.CharFilter(field_name="group__name", lookup_expr="icontains")
|
||
|
|
specialty_name = django_filters.CharFilter(field_name="group__specialty__name", lookup_expr="icontains")
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = Student
|
||
|
|
fields = ["first_name", "last_name", "group_name", "specialty_name"]
|