From 896b59b1bd281f202da066f074c74489b68ed4ad Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" Date: Wed, 16 Nov 2022 15:07:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=94=B6=E8=97=8F=E7=9A=84=E8=B5=84=E4=BA=A7?= =?UTF-8?q?API=E5=A4=B1=E8=B4=A5=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/serializers/asset/common.py | 2 +- apps/perms/serializers/user_permission.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/apps/assets/serializers/asset/common.py b/apps/assets/serializers/asset/common.py index a6c4b4fe2..179760922 100644 --- a/apps/assets/serializers/asset/common.py +++ b/apps/assets/serializers/asset/common.py @@ -15,7 +15,7 @@ from ...const import Category, AllTypes __all__ = [ 'AssetSerializer', 'AssetSimpleSerializer', 'MiniAssetSerializer', - 'AssetTaskSerializer', 'AssetsTaskSerializer', + 'AssetTaskSerializer', 'AssetsTaskSerializer', 'AssetProtocolsSerializer', ] diff --git a/apps/perms/serializers/user_permission.py b/apps/perms/serializers/user_permission.py index dc9fb475f..d95a14f99 100644 --- a/apps/perms/serializers/user_permission.py +++ b/apps/perms/serializers/user_permission.py @@ -5,6 +5,7 @@ from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers from assets.const import Category, AllTypes +from assets.serializers.asset.common import AssetProtocolsSerializer from assets.models import Node, Asset, Platform, Account from common.drf.fields import ObjectRelatedField, LabeledChoiceField from perms.serializers.permission import ActionChoicesField @@ -17,17 +18,15 @@ __all__ = [ class AssetGrantedSerializer(serializers.ModelSerializer): """ 被授权资产的数据结构 """ - platform = serializers.SlugRelatedField( - slug_field='name', queryset=Platform.objects.all(), label=_("Platform") - ) - protocols = ObjectRelatedField(read_only=True, many=True) + platform = ObjectRelatedField(required=False, queryset=Platform.objects, label=_('Platform')) + protocols = AssetProtocolsSerializer(many=True, required=False, label=_('Protocols')) category = LabeledChoiceField(choices=Category.choices, read_only=True, label=_('Category')) type = LabeledChoiceField(choices=AllTypes.choices(), read_only=True, label=_('Type')) class Meta: model = Asset only_fields = [ - "id", "name", "address", "protocols", + "id", "name", "address", 'domain', 'platform', "comment", "org_id", "is_active", ]