title: django extend installed app model save method
body: <p>Let's say i need to call my own function <code>def do_stuff()</code> after i save model. If that model would be in app which i have created, that would be no problem. I could do: </p>
  
  <pre><code>def save(self, *args, **kwargs):
          super(Post, self).save(*args, **kwargs)
          do_stuff()
  </code></pre>
  
  <p>But i need to call <code>save()</code> in 3rd party app when model is saved. I can think of only copying all project to my local directory and append <code>save()</code> method, but that is not nice since i have to copy all app code. Is there any nicer way to do this?</p>
  
  <p>EDITED:</p>
  
  <p>apps.py:</p>
  
  <pre><code>from django.apps import AppConfig
  
  class SubscriptionConfig(AppConfig):
  
      def ready(self):
          import subscription.signals
  </code></pre>
  
  <p>signals.py:</p>
  
  <pre><code>from django.db.models.signals import post_save
  from django.dispatch import receiver
  
  from djangocms_blog.models import Post
  
  @receiver(post_save, sender=Post)
  def send_emails(instance, **kwargs):
      print 'instance %s' %instance
  </code></pre>
  
  <p><code>__init__.py:</code></p>
  
  <pre><code>default_app_config = 'subscription.apps.SubscriptionConfig'
  </code></pre>