perf(application): 修改DoaminAPI返回application数量;修改Application数据库datbase字段required=False

pull/4901/head
Bai 2020-10-30 15:57:12 +08:00 committed by Jiangjie.Bai
parent c74c9f51f0
commit f6c24f809c
2 changed files with 7 additions and 2 deletions

View File

@ -13,7 +13,7 @@ class DBAttrsSerializer(serializers.Serializer):
host = serializers.CharField(max_length=128, label=_('Host')) host = serializers.CharField(max_length=128, label=_('Host'))
port = serializers.IntegerField(label=_('Port')) port = serializers.IntegerField(label=_('Port'))
database = serializers.CharField( database = serializers.CharField(
max_length=128, allow_blank=True, allow_null=True, label=_('Database') max_length=128, required=False, allow_blank=True, allow_null=True, label=_('Database')
) )

View File

@ -11,6 +11,7 @@ from .base import AuthSerializerMixin
class DomainSerializer(BulkOrgResourceModelSerializer): class DomainSerializer(BulkOrgResourceModelSerializer):
asset_count = serializers.SerializerMethodField() asset_count = serializers.SerializerMethodField()
application_count = serializers.SerializerMethodField()
gateway_count = serializers.SerializerMethodField() gateway_count = serializers.SerializerMethodField()
class Meta: class Meta:
@ -20,7 +21,7 @@ class DomainSerializer(BulkOrgResourceModelSerializer):
'comment', 'date_created' 'comment', 'date_created'
] ]
fields_m2m = [ fields_m2m = [
'asset_count', 'assets', 'gateway_count', 'asset_count', 'assets', 'application_count', 'gateway_count',
] ]
fields = fields_small + fields_m2m fields = fields_small + fields_m2m
read_only_fields = ('asset_count', 'gateway_count', 'date_created') read_only_fields = ('asset_count', 'gateway_count', 'date_created')
@ -33,6 +34,10 @@ class DomainSerializer(BulkOrgResourceModelSerializer):
def get_asset_count(obj): def get_asset_count(obj):
return obj.assets.count() return obj.assets.count()
@staticmethod
def get_application_count(obj):
return obj.applications.count()
@staticmethod @staticmethod
def get_gateway_count(obj): def get_gateway_count(obj):
return obj.gateway_set.all().count() return obj.gateway_set.all().count()