title: Update_or_create wont respect unique key
body: <p>I'm using the following model in Django:</p>
  
  <pre><code>class sfs_upcs(models.Model):
    upc = models.CharField(max_length=14, unique=True)
    product_title = models.CharField(max_length=150,default="Not Available")
    is_buyable = models.NullBooleanField()
    price = models.DecimalField(max_digits=8, decimal_places=2,default="0.00")
    image_url = models.URLField(default=None)
    breadcrumb = models.TextField(default=None)
    product_url = models.URLField(default=None)
    timestamp = models.DateTimeField(auto_now=True)
  </code></pre>
  
  <p>And then I'm using the following code on my views.py:</p>
  
  <pre><code>def insert_record(upc_dict):
    upc = upc_dict['upc']
    product_title = upc_dict['product_title']
    is_buyable = upc_dict['is_buyable']
    price = upc_dict['price']
    image_url = upc_dict['image_url']
    breadcrumb = upc_dict['breadcrumb']
    product_url = upc_dict['product_url']
    obj, created = sfs_upcs.objects.update_or_create(
      defaults={'product_title':product_title,'is_buyable':is_buyable,
      'price':price,'image_url':image_url,'breadcrumb':breadcrumb,'product_url':product_url
      },
      upc = upc,
      product_title = product_title,
      is_buyable = is_buyable,
      price = price,
      image_url = image_url,
      breadcrumb = breadcrumb,
      product_url = product_url)
  
    print obj,created
  </code></pre>
  
  <p>I'm using the update_or_create method present in the documentation <a href="https://docs.djangoproject.com/en/1.8/ref/models/querysets/#update-or-create" rel="noreferrer">https://docs.djangoproject.com/en/1.8/ref/models/querysets/#update-or-create</a> and says that by passing into the 'defaults' dictionary the values that you want to UPDATE in case the object exists should make the trick... but I keep getting an "IntegrityError at ... column upc is not unique"... </p>
  
  <p>Any ideas?</p>