From 894142712f274bd005969cef9e10487b62ef0b24 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 27 Aug 2025 14:23:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlog=20view=20=E6=9A=82=E6=97=B6?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 385d04da..cc41d5ce 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -39,6 +39,8 @@ from django.db.models import Count from datetime import datetime, timedelta from apps.utils.lock import lock_model_record_d_method from apps.em.models import Equipment +from django.db.models import Prefetch + # Create your views here. @@ -188,7 +190,8 @@ class MlogViewSet(CustomModelViewSet): select_related_fields = ['create_by', 'update_by', 'mtask', 'mtaskb', 'handle_user', 'handle_user_2', 'equipment', 'mgroup__belong_dept', 'equipment_2', 'material_in', 'material_out', 'route__routepack', 'submit_user', - 'supplier', 'ticket', 'mgroup__process', 'test_user', 'handle_leader', 'test_user', 'team'] + 'supplier', 'ticket', 'mgroup__process', 'test_user', 'handle_leader', 'test_user', 'team', + 'material_in__process', 'material_out__process'] prefetch_related_fields = ['handle_users', 'material_outs', 'b_mlog', 'equipments'] filterset_class = MlogFilter @@ -206,6 +209,36 @@ class MlogViewSet(CustomModelViewSet): if self.request.query_params.get('with_mlogb', False): return MlogSerializer return super().get_serializer_class() + + # def list(self, request, *args, **kwargs): + # from django.db import connection + # from django.conf import settings + # # 清空之前的查询记录 + # connection.queries_log.clear() + + # # 调用父类的 list 方法 + # response = super().list(request, *args, **kwargs) + + # # 获取执行的 SQL 查询 + # queries = connection.queries + # sql_queries = [] + + # for query in queries: + # sql_queries.append({ + # 'sql': query['sql'], + # 'time': query['time'], + # 'params': query.get('params', []) + # }) + + # # 将 SQL 信息添加到响应中(仅在调试模式) + # if settings.DEBUG: + # response.data['_debug'] = { + # 'sql_queries': sql_queries, + # 'total_queries': len(queries), + # 'total_time': sum(float(q['time']) for q in queries) + # } + + # return response def add_info_for_list(self, data): czx_dict = {}