feat: ecm filter 查询

This commit is contained in:
caoqianming 2023-08-22 14:28:00 +08:00
parent 315f832ff2
commit 11ced96400
1 changed files with 17 additions and 1 deletions

View File

@ -6,10 +6,16 @@ class EventFilterSet(filters.FilterSet):
start_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='gte')
end_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='lte')
is_handled = filters.BooleanFilter(method='filter_is_handled')
cates__in = filters.CharFilter(method='filter_cates__in')
cates__code__in = filters.CharFilter(method='filter_cates__code__in')
class Meta:
model = Event
fields = ['cates', 'start_create', 'end_create', 'is_handled', 'area']
fields = {
"cates": ["exact"],
"area": ["exact"],
"mark": ["exact"],
}
def filter_is_handled(self, queryset, name, value):
if value: # 我的
@ -17,3 +23,13 @@ class EventFilterSet(filters.FilterSet):
else:
queryset = queryset.filter(handle_user=None)
return queryset
def filter_cates__in(self, queryset, name, value):
if value:
vals = value.split(',')
return queryset.filter(cates__in=vals)
def filter_cates__code__in(self, queryset, name, value):
if value:
vals = value.split(',')
return queryset.filter(cates__code__in=vals)