fix: 修复账号列表导出500的问题

pull/9378/head
Bai 2023-01-31 15:43:06 +08:00 committed by Jiangjie.Bai
parent 229e89af03
commit 6b4dbe6554
2 changed files with 10 additions and 8 deletions

View File

@ -183,7 +183,7 @@ class OperatorLogHandler(metaclass=Singleton):
return data return data
def create_or_update_operate_log( def create_or_update_operate_log(
self, action, resource_type, resource=None, self, action, resource_type, resource=None, resource_display=None,
force=False, log_id=None, before=None, after=None, force=False, log_id=None, before=None, after=None,
object_name=None object_name=None
): ):
@ -192,7 +192,9 @@ class OperatorLogHandler(metaclass=Singleton):
return return
remote_addr = get_request_ip(current_request) remote_addr = get_request_ip(current_request)
resource_display = self.get_resource_display(resource) if resource_display is None:
resource_display = self.get_resource_display(resource)
resource_id = resource.id if resource is not None else ''
before, after = self.data_processing(before, after) before, after = self.data_processing(before, after)
if not force and not any([before, after]): if not force and not any([before, after]):
# 前后都没变化,没必要生成日志,除非手动强制保存 # 前后都没变化,没必要生成日志,除非手动强制保存
@ -200,9 +202,10 @@ class OperatorLogHandler(metaclass=Singleton):
data = { data = {
'id': log_id, "user": str(user), 'action': action, 'id': log_id, "user": str(user), 'action': action,
'resource_type': str(resource_type), 'resource': resource_display, 'resource_type': str(resource_type),
'resource_id': resource_id, 'resource': resource_display,
'remote_addr': remote_addr, 'before': before, 'after': after, 'remote_addr': remote_addr, 'before': before, 'after': after,
'org_id': get_current_org_id(), 'resource_id': str(resource.id) 'org_id': get_current_org_id(),
} }
data = self._activity_handle(data, object_name, resource=resource) data = self._activity_handle(data, object_name, resource=resource)
with transaction.atomic(): with transaction.atomic():

View File

@ -66,11 +66,11 @@ class RecordViewLogMixin:
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
response = super().list(request, *args, **kwargs) response = super().list(request, *args, **kwargs)
resource = self.get_resource_display(request) resource_display = self.get_resource_display(request)
resource_type = self.model._meta.verbose_name resource_type = self.model._meta.verbose_name
create_or_update_operate_log( create_or_update_operate_log(
self.ACTION, resource_type, force=True, self.ACTION, resource_type, force=True,
resource=resource resource_display=resource_display
) )
return response return response
@ -78,7 +78,6 @@ class RecordViewLogMixin:
response = super().retrieve(request, *args, **kwargs) response = super().retrieve(request, *args, **kwargs)
resource_type = self.model._meta.verbose_name resource_type = self.model._meta.verbose_name
create_or_update_operate_log( create_or_update_operate_log(
self.ACTION, resource_type, force=True, self.ACTION, resource_type, force=True, resource=self.get_object()
resource=self.get_object()
) )
return response return response