title: Django commit manually doesn't manage django QuerySet.update()?
body: <p>Django <code>QuerySet.update</code> doesn't deal with <code>transaction.commit_manually</code>, and commit automatically.</p>
  
  <p>I built a customized django view like this...</p>
  
  <h3>class Foo(View)</h3>
  
  <pre><code>@method_decorator(transaction.commit_manually)
  def post(self, request, *args, **kwargs):
      try:
          Model.objects.all().update(rank=10)
          data_to_update = resquest.
          for d in data_to_update:
              model = Model.objects.get(pk=d['id'])
              model.rank = d['rank']
              model.save()
          transaction.commit()
          status_code = 200
      except Exception, e:
          # do some stuff
          transaction.rollback()
          status_code = 500
  
      return HttpResponse(content='Foo', status=status_code)
  </code></pre>
  
  <p>... and if any expection is raised after the <code>Model.objects.all().update(rank=10)</code>,
  the <code>transaction.rollback()</code> doesn't work properly, and all models I'll have rank setted to 10.<br>
  I don't know why it happens, and i can't iterate by all models and call save method to each one(performance reasons).</p>