From ec0c334acc78f533e0e8595ba3adf2f63f566800 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Thu, 29 Sep 2022 14:44:27 +0800 Subject: [PATCH] perf: account search --- apps/assets/api/account/account.py | 4 ++-- apps/assets/filters.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/assets/api/account/account.py b/apps/assets/api/account/account.py index bb60fdfd9..4b26c042d 100644 --- a/apps/assets/api/account/account.py +++ b/apps/assets/api/account/account.py @@ -18,8 +18,8 @@ __all__ = ['AccountViewSet', 'AccountSecretsViewSet', 'AccountTaskCreateAPI'] class AccountViewSet(OrgBulkModelViewSet): model = Account - filterset_fields = ("username", "asset", 'address', 'name') - search_fields = ('username', 'address', 'name') + filterset_fields = ("username", "asset", 'name') + search_fields = ('username', 'asset__address', 'name') filterset_class = AccountFilterSet serializer_classes = { 'default': serializers.AccountSerializer, diff --git a/apps/assets/filters.py b/apps/assets/filters.py index e44378ef7..76aa648ce 100644 --- a/apps/assets/filters.py +++ b/apps/assets/filters.py @@ -161,6 +161,7 @@ class AccountFilterSet(BaseFilterSet): ip = filters.CharFilter(field_name='address', lookup_expr='exact') hostname = filters.CharFilter(field_name='name', lookup_expr='exact') username = filters.CharFilter(field_name="username", lookup_expr='exact') + address = filters.CharFilter(field_name="asset__address", lookup_expr='exact') assets = UUIDInFilter(field_name='asset_id', lookup_expr='in') nodes = UUIDInFilter(method='filter_nodes')