filters.py 646 B

123456789101112131415161718
  1. #coding=utf-8
  2. import django_filters
  3. from apps.base import clean_datetime_range
  4. from models import Notice
  5. class NoticeFilter(django_filters.FilterSet):
  6. company = django_filters.CharFilter(name='department__name',lookup_expr='icontains')
  7. title = django_filters.CharFilter(name='title', lookup_expr='icontains')
  8. create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
  9. class Meta:
  10. model = Notice
  11. fields = "__all__"
  12. def __init__(self, data=None, *args, **kwargs):
  13. data = clean_datetime_range(data, 'create_time')
  14. super(NoticeFilter, self).__init__(data, *args, **kwargs)