feat: 优化mlog list查询2

This commit is contained in:
caoqianming 2025-08-28 10:52:11 +08:00
parent c47b66af6c
commit 73b225fa19
1 changed files with 25 additions and 25 deletions

View File

@ -188,7 +188,7 @@ class MlogViewSet(CustomModelViewSet):
serializer_class = MlogSerializer serializer_class = MlogSerializer
list_serializer_class = MlogListSerializer list_serializer_class = MlogListSerializer
select_related_fields = ["create_by", "update_by", "handle_user", "equipment", "mgroup", "material_in", "material_out", select_related_fields = ["create_by", "update_by", "handle_user", "equipment", "mgroup", "material_in", "material_out",
'material_in__process', 'material_out__process', "mgroup__process"] 'material_in__process', 'material_out__process', "mgroup__process", "submit_user"]
# select_related_fields = ['create_by', 'update_by', 'mtask', 'mtaskb', 'mgroup', # select_related_fields = ['create_by', 'update_by', 'mtask', 'mtaskb', 'mgroup',
# 'handle_user', 'handle_user_2', 'equipment', 'mgroup__belong_dept', # 'handle_user', 'handle_user_2', 'equipment', 'mgroup__belong_dept',
# 'equipment_2', 'material_in', 'material_out', 'route__routepack', 'submit_user', # 'equipment_2', 'material_in', 'material_out', 'route__routepack', 'submit_user',
@ -211,35 +211,35 @@ class MlogViewSet(CustomModelViewSet):
return MlogSerializer return MlogSerializer
return super().get_serializer_class() return super().get_serializer_class()
# def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
# from django.db import connection from django.db import connection
# from django.conf import settings from django.conf import settings
# # 清空之前的查询记录 # 清空之前的查询记录
# connection.queries_log.clear() connection.queries_log.clear()
# # 调用父类的 list 方法 # 调用父类的 list 方法
# response = super().list(request, *args, **kwargs) response = super().list(request, *args, **kwargs)
# # 获取执行的 SQL 查询 # 获取执行的 SQL 查询
# queries = connection.queries queries = connection.queries
# sql_queries = [] sql_queries = []
# for query in queries: for query in queries:
# sql_queries.append({ sql_queries.append({
# 'sql': query['sql'], 'sql': query['sql'],
# 'time': query['time'], 'time': query['time'],
# 'params': query.get('params', []) 'params': query.get('params', [])
# }) })
# # 将 SQL 信息添加到响应中(仅在调试模式) # 将 SQL 信息添加到响应中(仅在调试模式)
# if settings.DEBUG: if settings.DEBUG:
# response.data['_debug'] = { response.data['_debug'] = {
# 'sql_queries': sql_queries, 'sql_queries': sql_queries,
# 'total_queries': len(queries), 'total_queries': len(queries),
# 'total_time': sum(float(q['time']) for q in queries) 'total_time': sum(float(q['time']) for q in queries)
# } }
# return response return response
def add_info_for_list(self, data): def add_info_for_list(self, data):
czx_dict = {} czx_dict = {}