7

我有一个更新第二个模型的预保存信号侦听器。与此示例相同:

我想让用户知道监听器成功更新模型并提供一些信息。通常,我认为我可以使用 django 具有的内置消息功能。问题是信号无法访问“请求”。所以我看不到如何使用内置的 Django Messages Framework。

是否有一种已知的方法可以在管理员中向用户发送消息?也许通过覆盖其中一个模型的 save() 方法?(发送信号或接收信号的那个),但我认为 save() 方法也不能访问“请求”?

这一定是其他人也想做的事情?

4

1 回答 1

7

您可以在 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')
于 2012-12-20T11:55:52.427 回答