begin api
This commit is contained in:
57
education/filters.py
Normal file
57
education/filters.py
Normal file
@@ -0,0 +1,57 @@
|
||||
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"]
|
||||
Reference in New Issue
Block a user