From 437df9a5337c7f01aa9e5f91e2da60b7abaf6c1d Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 10 Jul 2020 16:31:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(assets):=20node=20asset=20=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E5=8F=91=E7=94=9F=E5=8F=98=E5=8C=96=E6=98=AF=EF=BC=8C?= =?UTF-8?q?=E5=85=B3=E8=81=94=E7=B3=BB=E7=BB=9F=E7=94=A8=E6=88=B7=E5=BC=95?= =?UTF-8?q?=E8=B5=B7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/signals_handler.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/assets/signals_handler.py b/apps/assets/signals_handler.py index ce906dcd2..f3329c286 100644 --- a/apps/assets/signals_handler.py +++ b/apps/assets/signals_handler.py @@ -185,7 +185,9 @@ def on_asset_nodes_add(sender, instance=None, action='', model=None, pk_set=None system_users_assets = defaultdict(set) for system_user in system_users: - system_users_assets[system_user].update(set(assets)) + assets_has_set = system_user.assets.all().filter(id__in=assets).values_list('id', flat=True) + assets_remain = set(assets) - set(assets_has_set) + system_users_assets[system_user].update(assets_remain) for system_user, _assets in system_users_assets.items(): system_user.assets.add(*tuple(_assets))