From fc4a77df1a69b345c46c5979a886798aacef7902 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Wed, 19 Apr 2023 10:57:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B4=A6=E5=8F=B7=E5=AF=BC=E5=85=A5500?= =?UTF-8?q?=20(#10255)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: feng <1304903146@qq.com> --- apps/accounts/serializers/account/account.py | 3 +++ apps/assets/serializers/asset/common.py | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/accounts/serializers/account/account.py b/apps/accounts/serializers/account/account.py index 72576b548..d79fd69e4 100644 --- a/apps/accounts/serializers/account/account.py +++ b/apps/accounts/serializers/account/account.py @@ -75,6 +75,9 @@ class AccountCreateUpdateSerializerMixin(serializers.Serializer): initial_data['name'] = name def from_template_if_need(self, initial_data): + if isinstance(initial_data, str): + return + template_id = initial_data.pop('template', None) if not template_id: return diff --git a/apps/assets/serializers/asset/common.py b/apps/assets/serializers/asset/common.py index db248e5ef..9d3bcb097 100644 --- a/apps/assets/serializers/asset/common.py +++ b/apps/assets/serializers/asset/common.py @@ -70,9 +70,13 @@ class AssetPlatformSerializer(serializers.ModelSerializer): class AssetAccountSerializer(AccountSerializer): add_org_fields = False asset = serializers.PrimaryKeyRelatedField(queryset=Asset.objects, required=False, write_only=True) - clone_id: str + clone_id = None def to_internal_value(self, data): + # 导入时,data有时为str + if isinstance(data, str): + return super().to_internal_value(data) + clone_id = data.pop('id', None) ret = super().to_internal_value(data) self.clone_id = clone_id