title: Django/postgres transaction isolation level setting ignored
body: <p>I have an issue setting transaction isolation level. I want the most strict serializable, while the default is read committed.</p>
  
  <p>I am using:</p>
  
  <pre><code>Django==1.10.6
  psycopg2==2.5.1
  </code></pre>
  
  <p>Running on heroku.</p>
  
  <p>Based on the documentation:
  <a href="https://docs.djangoproject.com/en/1.10/ref/databases/#isolation-level" rel="nofollow noreferrer">https://docs.djangoproject.com/en/1.10/ref/databases/#isolation-level</a></p>
  
  <p>I have the following settings.py:</p>
  
  <pre><code>DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.sqlite3',
          'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
      },
      'OPTIONS': {
          'isolation_level': psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE,
      }
  }
  
  if on_heroku:
      DATABASES['default'] = dj_database_url.config()
  </code></pre>
  
  <p>Here's the view code:</p>
  
  <pre><code>@require_http_methods(["POST"])
  @transaction.atomic
  @login_required()
  def api_test_add_one(request):
      cursor = connection.cursor()
  
      cursor.execute('SHOW default_transaction_isolation')
  
      logger.info("aa: " + str(cursor.fetchone()))
  
      return HttpResponse("{}", content_type="application/json")
  </code></pre>
  
  <p>The output is:</p>
  
  <pre><code>aa: (u'read committed',)
  </code></pre>
  
  <p>I have run different tests simultaneously accessing the same endpoint, incrementing an integer in DB and confirmed that transactions were not isolated.</p>