[Update] 修改nodes

pull/3110/head
ibuler 2019-08-12 19:03:10 +08:00
parent ef73469d5d
commit 2e9711ae8a
1 changed files with 4 additions and 9 deletions

View File

@ -211,7 +211,8 @@ class AssetsAmountMixin:
cached = cache.get(cache_key) cached = cache.get(cache_key)
if cached is not None: if cached is not None:
return cached return cached
assets_amount = self.get_all_assets().count() assets_amount = self.get_all_assets().only('id').count()
self.assets_amount = assets_amount
return assets_amount return assets_amount
@assets_amount.setter @assets_amount.setter
@ -328,14 +329,8 @@ class Node(OrgModelMixin, FamilyMixin, FullValueMixin, AssetsAmountMixin):
def get_all_assets(self): def get_all_assets(self):
from .asset import Asset from .asset import Asset
pattern = r'^{0}$|^{0}:'.format(self.key) children = self.get_all_children()
args = [] assets = Asset.objects.filter(nodes__in=children).distinct()
kwargs = {}
if self.is_root():
args.append(Q(nodes__key__regex=pattern) | Q(nodes=None))
else:
kwargs['nodes__key__regex'] = pattern
assets = Asset.objects.filter(*args, **kwargs).distinct()
return assets return assets
def get_all_valid_assets(self): def get_all_valid_assets(self):