diff --git a/apps/assets/forms/asset.py b/apps/assets/forms/asset.py index 5973f731b..a044988ab 100644 --- a/apps/assets/forms/asset.py +++ b/apps/assets/forms/asset.py @@ -29,9 +29,9 @@ class ProtocolForm(forms.Form): class AssetCreateForm(OrgModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if not self.data: - nodes_field = self.fields['nodes'] - nodes_field._queryset = Node.get_queryset() + nodes_field = self.fields['nodes'] + nodes_field.choices = ((n.id, n.full_value) for n in + Node.get_queryset()) class Meta: model = Asset diff --git a/apps/perms/forms/asset_permission.py b/apps/perms/forms/asset_permission.py index d0b362a1b..da3096b30 100644 --- a/apps/perms/forms/asset_permission.py +++ b/apps/perms/forms/asset_permission.py @@ -41,6 +41,9 @@ class AssetPermissionForm(OrgModelForm): users_field = self.fields.get('users') users_field.queryset = current_org.get_org_users() + nodes_field = self.fields['nodes'] + nodes_field.choices = ((n.id, n.full_value) for n in Node.get_queryset()) + # 前端渲染优化, 防止过多资产 if not self.data: instance = kwargs.get('instance') @@ -49,8 +52,6 @@ class AssetPermissionForm(OrgModelForm): assets_field.queryset = instance.assets.all() else: assets_field.queryset = Asset.objects.none() - nodes_field = self.fields['nodes'] - nodes_field._queryset = Node.get_queryset() class Meta: model = AssetPermission