save_model() 関数をオーバーライドして、obj.save() 呼び出しを try/catch でラップしました。
def save_model(self, request, obj, form, change):
from concurrency.exceptions import RecordModifiedError
from django.http import HttpResponse
try:
obj.save()
# some other stuff
except RecordModifiedError:
messages.error(request, "[!] Record modified. Please try again.")
#self.message_user(request, "[!] Record modified. Please try again.", level="error")
RecordModifiedError のキャッチは機能しており、データは保存されません。ただし、保存が成功したときに表示される確認メッセージは、エラーと同様に表示されたままです。2 つの相反するメッセージが表示されています。
成功メッセージが表示されないようにする方法を知りたいです。ありがとう!
EDIT:self.message_user()
機能も試しましたが、成功メッセージもブロックしませんでした。