расширение пользовательской модели django - PullRequest
0 голосов
/ 04 июня 2011

Я расширяю объект User в django и у меня есть профиль пользователя. Таким образом, используя хук post_save, я сохраняю профиль пользователя следующим образом:

class UserProfile(models.Model):
    user = models.OneToOneField(User)

def create_user_profile(sender, instance, created, **kwargs):
    if created:
        userObj, createdUser = UserProfile.objects.get_or_create(user=instance)

post_save.connect(create_user_profile, sender=User)

Работает нормально, когда я запускаю оболочку через оболочку python manage.py; сохраняя объект пользователя и профиль пользователя в таблицах, но если я проверяю, запуская запрос, в views.py, который обрабатывает этот запрос, я делаю следующее

def handleRequest(request):
    user = User(username="test",email="test",password="test")

    user.save()

Конечно, я создал HttpResponse и возвратил ответ, но для краткости его опустил. В результате я получаю запись пользователя, сохраненную в auth_user, но без профиля пользователя. Что за дело? Пожалуйста, помогите.

1 Ответ

1 голос
/ 05 июня 2011

не может получить доступ к профилю пользователя, поскольку у вас в профиле пользователя есть отношение.

вам необходимо добавить поля.

class UserProfile(models.Model):
    url = models.URLField()
    home_address = models.TextField()
    phone_numer = models.PhoneNumberField()
    user = models.ForeignKey(User, unique=True)

для получения дополнительной информации проверьте следующую ссылку

http://www.b -list.org / weblog / 2006 / jun / 06 / django-tips-extension-user-model /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...