mirror of https://github.com/jumpserver/jumpserver
perf: 修改 platform 搜索
parent
0c2a5bc44a
commit
7ca2fdca89
|
@ -31,6 +31,7 @@ __all__ = [
|
||||||
class AssetFilterSet(BaseFilterSet):
|
class AssetFilterSet(BaseFilterSet):
|
||||||
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")
|
||||||
|
platform = django_filters.CharFilter(method='filter_platform')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Asset
|
model = Asset
|
||||||
|
@ -39,6 +40,13 @@ class AssetFilterSet(BaseFilterSet):
|
||||||
"type", "category", "platform"
|
"type", "category", "platform"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def filter_platform(queryset, name, value):
|
||||||
|
if value.isdigit():
|
||||||
|
return queryset.filter(platform_id=value)
|
||||||
|
else:
|
||||||
|
return queryset.filter(platform__name=value)
|
||||||
|
|
||||||
|
|
||||||
class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet):
|
class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue