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'])
|
'create_by', 'update_by', 'create_time', 'update_time', 'id'])
|
||||||
difference = []
|
difference = []
|
||||||
has_changed = False
|
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':
|
if action == 'create':
|
||||||
has_changed = True
|
has_changed = True
|
||||||
change_user_l = change_user if change_user else instance.create_by
|
change_user_l = change_user if change_user else instance.create_by
|
||||||
change_time_l = change_time if change_time else instance.create_time
|
change_time_l = change_time if change_time else instance.create_time
|
||||||
elif action == 'delete':
|
elif action == 'delete':
|
||||||
has_changed = True
|
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:
|
else:
|
||||||
has_changed = True
|
if action == 'update':
|
||||||
change_user_l = change_user
|
change_user_l = change_user if change_user else instance.update_by
|
||||||
change_time_l = change_time
|
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():
|
for k, v in val_new.items():
|
||||||
if k not in ignore_fields:
|
if k not in ignore_fields:
|
||||||
if k not in val_old:
|
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):
|
elif not compare_values(val_new.get(k), val_old.get(k), ignore_order=True):
|
||||||
difference.append(
|
difference.append(
|
||||||
{'field': k, 'action': 'update', 'val_old': val_old[k], 'val_new': v})
|
{'field': k, 'action': 'update', 'val_old': val_old[k], 'val_new': v})
|
||||||
|
if action == 'update' and difference:
|
||||||
|
has_changed = True
|
||||||
if has_changed:
|
if has_changed:
|
||||||
AuditLog.objects.create(
|
AuditLog.objects.create(
|
||||||
action=action,
|
action=action,
|
||||||
|
|
Loading…
Reference in New Issue