Python 如何在Django中检测管理员何时修改用户
我为管理员和普通用户使用Django的用户模型。有时管理员需要手动修改用户帐户,例如更改电子邮件或禁用某些帐户。这些修改是从Django附带的基本管理面板完成的 问题是,如何检测这些修改事件?我需要这个做一些日志条目和做其他事情 我已经尝试了用户的pre_save signal,它可以用来检测哪些字段将发生更改,但问题是我不知道save()的来源。该模型保存在该方法中 您可以注销Python 如何在Django中检测管理员何时修改用户,python,django,django-admin,Python,Django,Django Admin,我为管理员和普通用户使用Django的用户模型。有时管理员需要手动修改用户帐户,例如更改电子邮件或禁用某些帐户。这些修改是从Django附带的基本管理面板完成的 问题是,如何检测这些修改事件?我需要这个做一些日志条目和做其他事情 我已经尝试了用户的pre_save signal,它可以用来检测哪些字段将发生更改,但问题是我不知道save()的来源。该模型保存在该方法中 您可以注销用户模型的默认管理员,并使用覆盖的保存模型()向您自己的模型管理员注册: 您可以通过检查form.changed\u
用户
模型的默认管理员,并使用覆盖的保存模型()向您自己的模型管理员
注册:
您可以通过检查form.changed\u data
来检查save\u model
方法中的字段是否已更改。这是已更改字段名称的列表。下面是一个小代码
def save_model(self, request, obj, form, change):
if 'parking_location' in form.changed_data:
messages.info(request, "Parking location has changed")
else:
messages.info(request, "Parking location has not changed")
super(MyVehiclesAdmin, self).save_model(request, obj, form, change)
def save_model(self, request, obj, form, change):
if 'parking_location' in form.changed_data:
messages.info(request, "Parking location has changed")
else:
messages.info(request, "Parking location has not changed")
super(MyVehiclesAdmin, self).save_model(request, obj, form, change)