title: Necessity of explicit cursor.close()
body: <p>From time to time, I'm executing raw queries using <a href="https://docs.djangoproject.com/en/dev/topics/db/sql/#connections-and-cursors" rel="noreferrer"><code>connection.cursor()</code></a> instead of using ORM (since it is definitely not a silver bullet).</p>
  
  <p>I've noticed that in several places I don't call explicit <code>cursor.close()</code> after I'm done with database. So far, this hasn't result into any errors, or performance issues. I'm wondering what kind of problems could I possibly have without closing the cursor explicitly, what can go wrong?</p>
  
  <p>As far as I understand, <code>connection</code> and <code>cursor</code> in Django follow "Python Database API Specification v2.0" (<a href="http://www.python.org/dev/peps/pep-0249" rel="noreferrer">PEP-249</a>). And, according to it, <code>cursor</code> would be automatically closed whenever <code>__del__()</code> method is called. I guess the question could be also: Is there a use case when it is not called?</p>
  
  <p>FYI, I'm using Python 2.7 and Django 1.6.5.</p>