diff --git a/apps/assets/serializers/label.py b/apps/assets/serializers/label.py index 6992f4e8d..48bc0885f 100644 --- a/apps/assets/serializers/label.py +++ b/apps/assets/serializers/label.py @@ -29,7 +29,8 @@ class LabelSerializer(BulkOrgResourceModelSerializer): @classmethod def setup_eager_loading(cls, queryset): - queryset = queryset.annotate(asset_count=Count('assets')) + queryset = queryset.prefetch_related('assets') \ + .annotate(asset_count=Count('assets')) return queryset diff --git a/apps/common/serializers/mixin.py b/apps/common/serializers/mixin.py index 7f4678557..4d3e6ddc8 100644 --- a/apps/common/serializers/mixin.py +++ b/apps/common/serializers/mixin.py @@ -55,9 +55,11 @@ class BulkSerializerMixin(object): # add update_lookup_field field back to validated data # since super by default strips out read-only fields # hence id will no longer be present in validated_data - if all((isinstance(self.root, BulkListSerializer), - id_attr, - request_method in ('PUT', 'PATCH'))): + if all([ + isinstance(self.root, BulkListSerializer), + id_attr, + request_method in ('PUT', 'PATCH') + ]): id_field = self.fields.get("id") or self.fields.get('pk') if data.get("id"): id_value = id_field.to_internal_value(data.get("id")) @@ -135,7 +137,7 @@ class BulkListSerializerMixin: pk = item["pk"] else: raise ValidationError("id or pk not in data") - child = self.instance.get(id=pk) + child = self.instance.get(pk=pk) self.child.instance = child self.child.initial_data = item # raw diff --git a/apps/common/signal_handlers.py b/apps/common/signal_handlers.py index d03c76798..6beb2d187 100644 --- a/apps/common/signal_handlers.py +++ b/apps/common/signal_handlers.py @@ -32,7 +32,7 @@ class Counter: return self.counter == other.counter -def on_request_finished_logging_db_query(sender, **kwargs): +def digest_sql_query(): queries = connection.queries counters = defaultdict(Counter) table_queries = defaultdict(list) @@ -79,6 +79,9 @@ def on_request_finished_logging_db_query(sender, **kwargs): counter.counter, counter.time, name) ) + +def on_request_finished_logging_db_query(sender, **kwargs): + digest_sql_query() on_request_finished_release_local(sender, **kwargs) diff --git a/apps/jumpserver/context_processor.py b/apps/jumpserver/context_processor.py index 4d5f9a4cf..9966228dc 100644 --- a/apps/jumpserver/context_processor.py +++ b/apps/jumpserver/context_processor.py @@ -20,7 +20,7 @@ default_context = { 'LOGIN_WECOM_logo_logout': static('img/login_wecom_logo.png'), 'LOGIN_DINGTALK_logo_logout': static('img/login_dingtalk_logo.png'), 'LOGIN_FEISHU_logo_logout': static('img/login_feishu_logo.png'), - 'COPYRIGHT': 'FIT2CLOUD 飞致云' + ' © 2014-2022', + 'COPYRIGHT': 'FIT2CLOUD 飞致云' + ' © 2014-2023', 'INTERFACE': default_interface, } diff --git a/apps/templates/_base_only_content.html b/apps/templates/_base_only_content.html index 87a4c9870..af02b18e7 100644 --- a/apps/templates/_base_only_content.html +++ b/apps/templates/_base_only_content.html @@ -18,6 +18,10 @@ margin: 0 auto; padding: 100px 20px 20px 20px; } + + .ibox-content { + padding: 30px; + } {% block custom_head_css_js %} {% endblock %} @@ -30,7 +34,7 @@