title: can you update a model instance without calling save( )?
body: <p>I am working on a project that requires unique slugs. The slugs are dynamically created in a custom save() method using the objects name.</p>
  
  <pre><code>class SlugMixin(models.Model):
      def save(self, *args, **kwargs):
          slug = striptags(self.name)
          self.slug = slugify(slug)
          super(SlugMixin, self).save(*args, **kwargs)
  
      class Meta:
          abstract = True
  </code></pre>
  
  <p>name is not unique so it's possible to have multiples of the same slug. So the solution i was working with is appending the id of the instance to it's slug in a post_save. The problem here is by attempting to update the slug with the id. save() needs to be called again. </p>
  
  <pre><code>def ensure_unique_slug(sender, instance, created, **kwargs):
      if created and Person.objects.filter(slug=instance.slug).count() &gt; 1:
          instance.slug = instance.slug + '-{}'.format(instance.id)
          instance.save()
  </code></pre>
  
  <p>rendering the update useless. is there anyway to update the slug without calling save()</p>