mirror of https://github.com/jumpserver/jumpserver
perf: 资产支持根据协议搜索
parent
f4c29a262a
commit
d285daa1c1
|
@ -35,6 +35,7 @@ class AssetFilterSet(BaseFilterSet):
|
||||||
domain = django_filters.CharFilter(method='filter_domain')
|
domain = django_filters.CharFilter(method='filter_domain')
|
||||||
type = django_filters.CharFilter(field_name="platform__type", lookup_expr="exact")
|
type = django_filters.CharFilter(field_name="platform__type", lookup_expr="exact")
|
||||||
category = django_filters.CharFilter(field_name="platform__category", lookup_expr="exact")
|
category = django_filters.CharFilter(field_name="platform__category", lookup_expr="exact")
|
||||||
|
protocols = django_filters.CharFilter(method='filter_protocols')
|
||||||
domain_enabled = django_filters.BooleanFilter(
|
domain_enabled = django_filters.BooleanFilter(
|
||||||
field_name="platform__domain_enabled", lookup_expr="exact"
|
field_name="platform__domain_enabled", lookup_expr="exact"
|
||||||
)
|
)
|
||||||
|
@ -78,6 +79,11 @@ class AssetFilterSet(BaseFilterSet):
|
||||||
else:
|
else:
|
||||||
return queryset.filter(domain__name__contains=value)
|
return queryset.filter(domain__name__contains=value)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def filter_protocols(queryset, name, value):
|
||||||
|
value = value.split(',')
|
||||||
|
return queryset.filter(protocols__name__in=value)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def filter_labels(queryset, name, value):
|
def filter_labels(queryset, name, value):
|
||||||
if ':' in value:
|
if ':' in value:
|
||||||
|
|
Loading…
Reference in New Issue