perf(application): 优化Application获取序列类attrs字段适配

This commit is contained in:
Bai
2020-10-23 19:19:12 +08:00
committed by 老广
parent 0632e88f5d
commit 5518e1e00f
9 changed files with 61 additions and 6 deletions

View File

@@ -2,3 +2,4 @@ from .application import *
from .remote_app import *
from .database_app import *
from .k8s_app import *
from .common import *

View File

@@ -11,7 +11,6 @@ __all__ = [
class ApplicationSerializer(BulkOrgResourceModelSerializer):
class Meta:
model = models.Application
fields = [

View File

@@ -0,0 +1,11 @@
from rest_framework import serializers
class CommonCategorySerializer(serializers.JSONField):
def to_representation(self, value):
new_value = {}
for k, v in value.items():
if 'password' not in k:
new_value[k] = v
return new_value

View File

@@ -9,12 +9,16 @@ from common.serializers import AdaptedBulkListSerializer
from .. import models
class DatabaseAttrsSerializer(serializers.Serializer):
class DatabaseCategorySerializer(serializers.Serializer):
host = serializers.CharField()
port = serializers.IntegerField()
database = serializers.CharField(allow_blank=True, allow_null=True)
class DatabaseAttrsSerializer(DatabaseCategorySerializer):
pass
class MySQLAttrsSerializer(DatabaseAttrsSerializer):
port = serializers.IntegerField(default=3306, label=_('Port'))

View File

@@ -5,10 +5,14 @@ from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from .. import models
class K8sAttrsSerializer(serializers.Serializer):
class CloudCategorySerializer(serializers.Serializer):
cluster = serializers.CharField(label=_('Cluster'))
class K8sAttrsSerializer(CloudCategorySerializer):
pass
class K8sAppSerializer(BulkOrgResourceModelSerializer):
type_display = serializers.CharField(source='get_type_display', read_only=True)

View File

@@ -14,8 +14,11 @@ from .. import const
from ..models import RemoteApp
class RemoteAppAttrsSerializer(serializers.Serializer):
class RemmoteAppCategorySerializer(serializers.Serializer):
asset = serializers.CharField(max_length=36, label=_('Assets'))
class RemoteAppAttrsSerializer(RemmoteAppCategorySerializer):
path = serializers.CharField(label=_('Remote App path'))