How to show a message to a django admin after saving a model?

Viewed 35353

I want to display a message to admins after they save a particular model, something like "Now enable the series".

I can see how I'd do this if it were a list action (message_user) but I can't see how to do this from the main CRUD form.

Does anyone know how?

Thanks.

4 Answers

@Seether answer is right but it display 2 messages as mentioned by @Uday in comment.

Display only one custom message

Answered by @Dylan For anyone who needs to eliminate the automatic Django success message in a more flexible way or

from django.contrib import messages

class SomeAdmin(admin.ModelAdmin):
      def message_user(self, *args): # overridden method
            pass

      def save_model(self, request, obj, form, change):

          messages.add_message(request, messages.INFO, 'Custom message goes here')

Overriding "save_model()", you can set and show a custom message and don't forget to import "messages" as shown below:

from django.contrib import admin
from .models import MyModel
from django.contrib import messages # Here

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    # Here
    def save_model(self, request, obj, form, change):
        obj.save()
        messages.add_message(request, messages.INFO, 'Custom Message')
Related