title: Django overwrite save
body: <p>I'd like to overwrite save method in my model to create proper slug and create copy of imagefield with small modifications in it. How can I handle with that?</p>
  
  <pre><code>def save(self, *args, **kwargs):
              super(MyModel, self).save(*args, **kwargs) #to get id
  
              #slug
              self.slug = '%s-%i' % (self.topic, self.id)
  
              #create copy of img
              cp_path = dirname(self.image.path)+'/copies_'+basename(self.image.path)
              shutil.copy2(self.image.path, cp_path)
  
              file = open(cp_path)
              django_file = File(file)
              django_file.name = basename(cp_path) #otherwise path will be duplicated
              self.cp_image = django_file
  
              super(MyModel, self).save(*args, **kwargs) #to save my new ImageField
  
              create_watermark(self.cp_image, self.topic, self.text, 500, 45)
  </code></pre>
  
  <p>Cause I use super(MyModel, self).save() twice I've got a copy of self.image file. As you can seen I'm not very familiar with django and python. How can I do that better?</p>