fix: create_auditlog update不记录的bug
This commit is contained in:
parent
0a3e434a7e
commit
1de76ffc33
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue