Browse Source

Merge pull request #10723 from jumpserver/pr@dev@perf_json_attr_m2m_filter

perf: 优化 json m2m filter
pull/10724/head
老广 1 year ago committed by GitHub
parent
commit
abd4e87bc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      apps/common/db/fields.py
  2. 6
      apps/terminal/connect_methods.py

2
apps/common/db/fields.py

@ -502,7 +502,7 @@ class JSONManyToManyDescriptor:
value = [value.id]
value = set(map(str, value))
rule_value = set(map(str, rule_value))
res &= value.issubset(rule_value)
res &= value & rule_value
else:
logging.error("unknown match: {}".format(rule['match']))
res &= False

6
apps/terminal/connect_methods.py

@ -104,13 +104,15 @@ class NativeClient(TextChoices):
xpack_protocols = cls.xpack_protocols()
for protocol, _clients in clients_map.items():
if not settings.XPACK_ENABLED and protocol in xpack_protocols:
continue
if isinstance(_clients, dict):
if os == 'all':
_clients = list(itertools.chain(*_clients.values()))
else:
_clients = _clients.get(os, _clients['default'])
if protocol in xpack_protocols:
continue
for client in _clients:
if not settings.XPACK_ENABLED and client in cls.xpack_methods():
continue

Loading…
Cancel
Save