title: django: foreign key triggers as many queries as objects returned
body: <p>I defined a UserProfile with a OneToOne rel to User.</p>
  
  <p>Basically:</p>
  
  <pre><code>class UserProfile(models.Model):
  
      user = models.OneToOneField(User, related_name='profile', unique=True)
  </code></pre>
  
  <p>When I query the UserProfile, I am surprised to see a query for each user in addition to the main query.</p>
  
  <p>For example, I have 6 users / userprofiles, in a shell, I do:</p>
  
  <pre><code>from django.db import connection
  connection.queries = [] # reset
  
  UserProfile.objects.all()
  len(connection.queries) # 7 queries
  </code></pre>
  
  <p>Looking at the queries, the first query is on the UserProfile table as expected but then there are 6 queries on the User table, one per user. Is that normal? I thought the FK were queried when accessed...</p>
  
  <pre><code>SELECT "test_userprofile"."id", "test_userprofile"."created", "test_userprofile"."modified", "test_userprofile"."time_zone", "test_userprofile"."user_id"
  FROM "test_userprofile" LIMIT 21
  
  SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", 
         "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" 
  FROM "auth_user" 
  WHERE "auth_user"."id" = 1
  
  SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", 
         "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" 
  FROM "auth_user" 
  WHERE "auth_user"."id" = 2
  
  etc.
  </code></pre>