我有一个更新第二个模型的预保存信号侦听器。与此示例相同:
我想让用户知道监听器成功更新模型并提供一些信息。通常,我认为我可以使用 django 具有的内置消息功能。问题是信号无法访问“请求”。所以我看不到如何使用内置的 Django Messages Framework。
是否有一种已知的方法可以在管理员中向用户发送消息?也许通过覆盖其中一个模型的 save() 方法?(发送信号或接收信号的那个),但我认为 save() 方法也不能访问“请求”?
这一定是其他人也想做的事情?
我有一个更新第二个模型的预保存信号侦听器。与此示例相同:
我想让用户知道监听器成功更新模型并提供一些信息。通常,我认为我可以使用 django 具有的内置消息功能。问题是信号无法访问“请求”。所以我看不到如何使用内置的 Django Messages Framework。
是否有一种已知的方法可以在管理员中向用户发送消息?也许通过覆盖其中一个模型的 save() 方法?(发送信号或接收信号的那个),但我认为 save() 方法也不能访问“请求”?
这一定是其他人也想做的事情?
您可以在 ModelAdmin 中覆盖save_model方法。像这样的东西:
from django.contrib import messages
# your imports
...
# your code
def save_model(self, request, obj, form, change):
obj.user = request.user
obj.save()
# you can just call super(YourModelAdminName, self).save_model(request, obj, form, change)
messages.add_message(request, messages.INFO, 'Text of message')