title: django model with unique combination of two fields
body: <p>I have a django model as below</p>
  
  <pre><code>class MySubject(models.Model):
      name=models.CharField(unique=True,max_length=50)
      description=models.TextField(blank=True)
      slug=models.SlugField(editable=False)
  
      class Meta:
          verbose_name_plural="MySubjects"
  
      def __unicode__(self):
          return self.name
  
      def save(self,*args,**kwargs):
          self.name=self.name.strip()
          self.slug=slugify(self.name)
          super(MySubject,self).save(*args,**kwargs)
  
      @models.permalink
      def get_absolute_url(self):
          return ('subject_detail',(),{'slug':self.slug})
  </code></pre>
  
  <p>I need to make the creator+ name unique ,sothat I can call</p>
  
  <pre><code>subject,status=MySubject.objects.get_or_create(name__iexact=name.strip(),creator= request.user,defaults={'name':name,'description':name,'creator':request.user})
  </code></pre>
  
  <p>Is the following ,the right way to do this?</p>
  
  <pre><code>class MySubject(models.Model):
          name=models.CharField(max_length=50)
          creator = models.ForeignKey(User,null=True)
          description=models.TextField(blank=True)
          slug=models.SlugField(editable=False)
  
          class Meta: 
              verbose_name_plural="MySubjects"
              unique_together = ('name', 'creator',)
           ...
  </code></pre>
  
  <p>I guess I have to do a <code>migration</code> using <code>south</code> after making the change..Do I have to do <code>schemamigration</code> alone or do I have to do a <code>datamigration</code>?</p>