fix: create_auditlog update不记录的bug

This commit is contained in:
caoqianming 2023-12-18 13:24:49 +08:00
parent 0a3e434a7e
commit 1de76ffc33
1 changed files with 12 additions and 5 deletions

View File

@ -28,18 +28,23 @@ def create_auditlog(action: str, instance, val_new: dict, val_old: dict = None,
'create_by', 'update_by', 'create_time', 'update_time', 'id'])
difference = []
has_changed = False
change_user_l = change_user if change_user else instance.update_by
change_time_l = change_time if change_time else instance.update_time
if action == 'create':
has_changed = True
change_user_l = change_user if change_user else instance.create_by
change_time_l = change_time if change_time else instance.create_time
elif action == 'delete':
has_changed = True
change_user_l = change_user if change_user else instance.update_by
change_time_l = change_time if change_time else instance.update_time
else:
has_changed = True
change_user_l = change_user
change_time_l = change_time
if action == 'update':
change_user_l = change_user if change_user else instance.update_by
change_time_l = change_time if change_time else instance.update_time
else:
has_changed = True
change_user_l = change_user
change_time_l = change_time
for k, v in val_new.items():
if k not in ignore_fields:
if k not in val_old:
@ -48,6 +53,8 @@ def create_auditlog(action: str, instance, val_new: dict, val_old: dict = None,
elif not compare_values(val_new.get(k), val_old.get(k), ignore_order=True):
difference.append(
{'field': k, 'action': 'update', 'val_old': val_old[k], 'val_new': v})
if action == 'update' and difference:
has_changed = True
if has_changed:
AuditLog.objects.create(
action=action,