title: Django TypeError: Model instances without primary key value are unhashable
body: <p>I have my <code>models.py</code> as follows:</p>
  
  <pre><code>class Article(models.Model):
      date = models.DateTimeField(null=True, blank=True)
      title = models.TextField(default=None, null=True, blank=True)
      content = models.TextField(default=None, null=True, blank=True)
      author = models.TextField(default=None, null=True, blank=True)
      url = models.CharField(max_length=255, default=None, null=True, blank=True, unique=True)
  
  
  class Keyword(models.Model):
      word = models.CharField(max_length=80)
  
      def __str__(self):
          return self.word
      article = models.ForeignKey(Article, related_name='keywords_found', null=True, blank=True)
  </code></pre>
  
  <p>I encounter an error when I try to save the data like this:</p>
  
  <pre><code>Article.objects.create(date=publish_date, title=article.title, content=article.text, author=article.authors, url=url, keywords_found=keywords_found)
  </code></pre>
  
  <p>Here, <code>keywords_found</code> is a list of <code>Keyword</code> objects. </p>
  
  <p>The error is:</p>
  
  <pre><code>TypeError: Model instances without primary key value are unhashable
  </code></pre>
  
  <p>Where am I going wrong?</p>
  
  <p>Django version : 1.10</p>