1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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'],
- 'email': ['icontains', 'exact'],
- 'phone': ['icontains', 'exact'],
- 'address': ['icontains', 'exact'],
- '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'],
- }
|