title: Django creates unwanted sessions when user have a session cookie
body: <p>I have this function that check if user has an active session, I call it from other views:  </p>
  
  <pre><code>def checkSession(request):
      try:
          with transaction.atomic():
              a = request.session['userID']
      except KeyError:
          return False
      return True  # session is active
  </code></pre>
  
  <p>I want to avoid a creation of new session in my datebase, if user does not have one. That's why I use <code>transaction.atomic()</code>.
  That's actually work in most cases. BUT, if user comes with a session cookie that does not exist in the database (for example, I deleted it from the database). Then this code will indeed return False, as expected, but still a new session key will be created for him, give him a new cookie instead of the previous one he had, and will create a row in the database - all of that I want to avoid if the user does not have a session data.
  This is happening only if user come with a session cookie, and the code flows normally - i.e no internal server error in the view that call checkSession function.</p>
  
  <p>why this is happening?<br>
  why there's a difference if user comes with a session cookie to the server, or doesn't come with one, if in both cases there isn't a session data for him in the database?</p>
  
  <p>I user django 1.6.1</p>