class AssetGrantedSerializer(serializers.ModelSerializer): """ 被授权资产的数据结构 """ protocols = ProtocolsField(label=_('Protocols'), required=False, read_only=True) system_users_granted = AssetSystemUserSerializer(many=True, read_only=True) system_users_join = serializers.SerializerMethodField() system_users_only_fields = AssetSystemUserSerializer.Meta.only_fields class Meta: model = Asset only_fields = [ "id", "hostname", "ip", "protocols", "os", 'domain', "platform", "org_id", ] fields = only_fields + [ 'system_users_granted', 'system_users_join', "org_name" ] read_only_fields = fields @staticmethod def get_system_users_join(obj): system_users = [s.username for s in obj.system_users_granted] return ', '.join(system_users)
class AssetGrantedSerializer(serializers.ModelSerializer): """ 被授权资产的数据结构 """ protocols = ProtocolsField(label=_('Protocols'), required=False, read_only=True) platform = serializers.ReadOnlyField(source='platform_base') class Meta: model = Asset only_fields = [ "id", "hostname", "ip", "protocols", "os", 'domain', "platform", "comment", "org_id", ] fields = only_fields + ['org_name'] read_only_fields = fields
class AssetGrantedSerializer(serializers.ModelSerializer): """ 被授权资产的数据结构 """ protocols = ProtocolsField(label=_('Protocols'), required=False, read_only=True) platform = serializers.SlugRelatedField( slug_field='name', queryset=Platform.objects.all(), label=_("Platform") ) class Meta: model = Asset only_fields = [ "id", "hostname", "ip", "protocols", "os", 'domain', "platform", "comment", "org_id", "is_active" ] fields = only_fields + ['org_name'] read_only_fields = fields
class ConnectionTokenAssetSerializer(serializers.ModelSerializer): protocols = ProtocolsField(label='Protocols', read_only=True) class Meta: model = Asset fields = ['id', 'hostname', 'ip', 'protocols', 'org_id']