title: Why use __unicode__(self) method for django 1.7+?
body: <p>I'm brand new with django and sql.  A tutorial I'm going through puts <code>def __unicode__(self)</code> on every models class?  here's the reference to the <a href="https://docs.djangoproject.com/en/1.8/ref/models/instances/#unicode" rel="noreferrer">documentation</a> But even after reading I still do not understand whats the purpose?</p>
  
  <pre><code>class Project(models.Model):
      name = models.CharField(max_length=300)
  
      def __unicode__(self):
          return self.name
  
  class Task(models.Model):
      description = models.CharField(max_length=300)
      project = models.ForeignKey(Project)
  
      def __unicode__(self):
          return self.description
  </code></pre>