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
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,
object_name=None
):
@ -192,7 +192,9 @@ class OperatorLogHandler(metaclass=Singleton):
return
remote_addr = get_request_ip(current_request)
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)
if not force and not any([before, after]):
# 前后都没变化,没必要生成日志,除非手动强制保存
@ -200,9 +202,10 @@ class OperatorLogHandler(metaclass=Singleton):
data = {
'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,
'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)
with transaction.atomic():

View File

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