123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from django_filters import FilterSet
- from .models import Users, AcademicProfile, ResearchGroup, GroupMembership
- class UsersFilter(FilterSet):
- class Meta:
- model = Users
- fields = {
- 'name': ['icontains', 'exact'],
- 'openid': ['icontains', 'exact'],
- 'appid': ['icontains', 'exact'],
- 'vip': ['exact'],
- 'vip_time': ['exact'],
- 'is_delete': ['exact'],
- 'developer': ['exact'],
- 't_code': ['icontains'],
- 'ip': ['icontains'],
- 'avatar': ['icontains'],
- 'create_time': ['exact', 'lt', 'gt'],
- 'update_time': ['exact', 'lt', 'gt'],
- }
- class AcademicProfileFilter(FilterSet):
- class Meta:
- model = AcademicProfile
- fields = {
- 'role': ['exact', 'icontains'],
- 'enrollment_year': ['exact', 'lt', 'gt'],
- 'graduation_year': ['exact', 'lt', 'gt'],
- 'department': ['icontains'],
- 'major': ['icontains'],
- 'research_tags': ['icontains'],
- 'skill_tags': ['icontains'],
- }
- class ResearchGroupFilter(FilterSet):
- class Meta:
- model = ResearchGroup
- fields = {
- 'name': ['icontains', 'exact'],
- 'description': ['icontains'],
- 'created_by': ['exact'],
- 'created_at': ['exact', 'lt', 'gt'],
- 'is_active': ['exact'],
- }
- class GroupMembershipFilter(FilterSet):
- class Meta:
- model = GroupMembership
- fields = {
- 'role': ['exact'],
- 'status': ['exact'],
- 'joined_at': ['exact', 'lt', 'gt'],
- 'left_at': ['exact', 'lt', 'gt'],
- }
|