Take a look at the AutoOneToOneField in django-annoying. From the docs:
from annoying.fields import AutoOneToOneField
class MyProfile(models.Model):
user = AutoOneToOneField(User, primary_key=True)
home_page = models.URLField(max_length=255)
icq = models.CharField(max_length=255)
(django-annoying is a great little library that includes gems like the render_to decorator and the get_object_or_None and get_config functions)