7

2 番目のモデルを更新する事前保存シグナル リスナーがあります。この例と同じ:

リスナーがモデルの更新に成功したことをユーザーに知らせ、いくつかの情報を提供したいと思います。通常、django に組み込まれているメッセージ機能を使用できると思います。問題は、シグナルが「リクエスト」にアクセスできないことです。そのため、組み込みの Django Messages Framework の使用方法がわかりません。

管理者でユーザーにメッセージを送信するための既知の方法はありますか? たぶん、モデルの 1 つの 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 に答える