From 8e12399058b439de91a2c047c835a97d3f4f4a01 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 15 Sep 2021 17:37:49 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=B5=84=E4=BA=A7=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E7=B1=BB=E4=BC=98=E5=8C=96=EF=BC=8C=E6=94=B9=E4=B8=BA=E5=8F=AA?= =?UTF-8?q?=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/serializers/asset.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/assets/serializers/asset.py b/apps/assets/serializers/asset.py index 8266c69c2..051db7330 100644 --- a/apps/assets/serializers/asset.py +++ b/apps/assets/serializers/asset.py @@ -75,10 +75,13 @@ class AssetSerializer(BulkOrgResourceModelSerializer): fields_mini = ['id', 'hostname', 'ip', 'platform', 'protocols'] fields_small = fields_mini + [ 'protocol', 'port', 'protocols', 'is_active', 'public_ip', + 'comment', + ] + hardware_fields = [ 'number', 'vendor', 'model', 'sn', 'cpu_model', 'cpu_count', 'cpu_cores', 'cpu_vcpus', 'memory', 'disk_total', 'disk_info', - 'os', 'os_version', 'os_arch', 'hostname_raw', 'comment', - 'hardware_info', 'connectivity', 'date_verified' + 'os', 'os_version', 'os_arch', 'hostname_raw', 'hardware_info', + 'connectivity', 'date_verified' ] fields_fk = [ 'domain', 'domain_display', 'platform', 'admin_user', 'admin_user_display' @@ -89,15 +92,16 @@ class AssetSerializer(BulkOrgResourceModelSerializer): read_only_fields = [ 'created_by', 'date_created', ] - fields = fields_small + fields_fk + fields_m2m + read_only_fields + fields = fields_small + hardware_fields + fields_fk + fields_m2m + read_only_fields - extra_kwargs = { + extra_kwargs = {k: {'read_only': True} for k in hardware_fields} + extra_kwargs.update({ 'protocol': {'write_only': True}, 'port': {'write_only': True}, - 'hardware_info': {'label': _('Hardware info')}, - 'org_name': {'label': _('Org name')}, - 'admin_user_display': {'label': _('Admin user display')} - } + 'hardware_info': {'label': _('Hardware info'), 'read_only': True}, + 'org_name': {'label': _('Org name'), 'read_only': True}, + 'admin_user_display': {'label': _('Admin user display'), 'read_only': True}, + }) def get_fields(self): fields = super().get_fields()