mirror of https://github.com/jumpserver/jumpserver
perf: account search
parent
da35e931a2
commit
ec0c334acc
|
@ -18,8 +18,8 @@ __all__ = ['AccountViewSet', 'AccountSecretsViewSet', 'AccountTaskCreateAPI']
|
||||||
|
|
||||||
class AccountViewSet(OrgBulkModelViewSet):
|
class AccountViewSet(OrgBulkModelViewSet):
|
||||||
model = Account
|
model = Account
|
||||||
filterset_fields = ("username", "asset", 'address', 'name')
|
filterset_fields = ("username", "asset", 'name')
|
||||||
search_fields = ('username', 'address', 'name')
|
search_fields = ('username', 'asset__address', 'name')
|
||||||
filterset_class = AccountFilterSet
|
filterset_class = AccountFilterSet
|
||||||
serializer_classes = {
|
serializer_classes = {
|
||||||
'default': serializers.AccountSerializer,
|
'default': serializers.AccountSerializer,
|
||||||
|
|
|
@ -161,6 +161,7 @@ class AccountFilterSet(BaseFilterSet):
|
||||||
ip = filters.CharFilter(field_name='address', lookup_expr='exact')
|
ip = filters.CharFilter(field_name='address', lookup_expr='exact')
|
||||||
hostname = filters.CharFilter(field_name='name', lookup_expr='exact')
|
hostname = filters.CharFilter(field_name='name', lookup_expr='exact')
|
||||||
username = filters.CharFilter(field_name="username", 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')
|
assets = UUIDInFilter(field_name='asset_id', lookup_expr='in')
|
||||||
nodes = UUIDInFilter(method='filter_nodes')
|
nodes = UUIDInFilter(method='filter_nodes')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue