title: How to make Django QuerySet bulk delete() more efficient
body: <p>Setup:<br>
  Django 1.1.2, MySQL 5.1</p>
  
  <p>Problem:</p>
  
  <pre><code>Blob.objects.filter(foo = foo) \
              .filter(status = Blob.PLEASE_DELETE) \
              .delete()
  </code></pre>
  
  <p>This snippet results in the ORM first generating a <code>SELECT * from xxx_blob where ...</code> query, then doing a <code>DELETE from xxx_blob where id in (BLAH);</code> where BLAH is a ridiculously long list of id's. Since I'm deleting a large amount of blobs, this makes both me and the DB very unhappy. </p>
  
  <p>Is there a reason for this? I don't see why the ORM can't convert the above snippet into a single DELETE query. Is there a way to optimize this without resorting to raw SQL?</p>