filters.py 940 B

123456789101112131415161718192021222324
  1. # coding=utf-8
  2. import django_filters
  3. from .models import KnowledgeBase, KnowledgeBaseFeedback
  4. class KnowledgeBaseFilter(django_filters.FilterSet):
  5. name = django_filters.CharFilter(field_name="name", lookup_expr="icontains")
  6. subject = django_filters.CharFilter(field_name='chapter__subject_id')
  7. chapter = django_filters.CharFilter(field_name='chapter_id')
  8. class Meta:
  9. model = KnowledgeBase
  10. fields = "__all__"
  11. class KnowledgeBaseFeedbackFilter(django_filters.FilterSet):
  12. chapter = django_filters.CharFilter(field_name='main__chapter_id')
  13. subject = django_filters.CharFilter(field_name='main__chapter__subject_id')
  14. status = django_filters.CharFilter(field_name='status')
  15. type = django_filters.CharFilter(field_name='type')
  16. name = django_filters.CharFilter(field_name='main__name', lookup_expr='icontains')
  17. class Meta:
  18. model = KnowledgeBaseFeedback
  19. fields = '__all__'