title: Django one-to-one reverse relationship DoesNotExist
body: <p>I've got an odd problem here, where my one-to-one relationship doesn't seem to be working in reverse. It's easiest to explain with code.</p>
  
  <p>I have extended the default Django User to add a timezone, as so:</p>
  
  <pre><code>#This model holds custom user fields
  class TaskUser(models.Model):
      user = models.OneToOneField(User, related_name="task_user")
      timezone = models.CharField(max_length=50, default="UTC")
  </code></pre>
  
  <p>I migrated using South, no problems so far. It's shown inline in my admin, again no problems. I also used syncdb since I haven't used South with User before, which synced everything else no problems.</p>
  
  <p>So, according to the documentation I should now have a field task_user on User objects, which references the TaskUser object.</p>
  
  <p>If I go into Django shell, this is not the case. (See In[6])</p>
  
  <pre><code>In [1]: from django.contrib.auth.models import User
  
  In [2]: current_user = User.objects.get(pk=1)
  
  In [3]: current_user?  
  Type:       User
  String Form:callum
  File:       /usr/local/lib/python2.7/dist-packages/django/contrib/auth/models.py
  Docstring:
  Users within the Django authentication system are represented by this
  model.
  
  Username, password and email are required. Other fields are optional.
  
  In [4]: for field in current_user._meta.fields:
      print field.name
      ...:     
  id
  password
  last_login
  is_superuser
  username
  first_name
  last_name
  email
  is_staff
  is_active
  date_joined
  
  
  In [5]: dir(current_user)
  Out[5]: 
  ['DoesNotExist',
  'Meta',
  'MultipleObjectsReturned',
  'REQUIRED_FIELDS',
  'USERNAME_FIELD',
  #I have removed many more field here
  'task_user',
  #And a few here
  'validate_unique']
  
  In [6]: current_user.task_user
  ---------------------------------------------------------------------------
  DoesNotExist                              Traceback (most recent call last)
  /usr/local/lib/python2.7/dist-packages/django/core/management/commands/shell.pyc in &lt;module&gt;()
  ----&gt; 1 current_user.task_user
  
  /usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.pyc in     __get__(self, instance, instance_type)
      277             setattr(instance, self.cache_name, rel_obj)
      278         if rel_obj is None:
  --&gt; 279             raise self.related.model.DoesNotExist
      280         else:
      281             return rel_obj
  
  DoesNotExist: 
  </code></pre>
  
  <p>I'm a bit confused by this result - it seems like the object has this task_data field somewhere, but not as a relationship? I'm not really sure how I can access it and avoid this error.</p>
  
  <p>Thanks in advance for any help anybody can offer.</p>