Получение последнего созданного пользователя для ссылки на профиль пользователя в Django - PullRequest
1 голос
/ 09 сентября 2010

Я наткнулся на небольшую стену, когда пытался добавить данные в модель UserProfile, созданную для хранения пользовательской информации за пределами того, что предусмотрено встроенным компонентом Auth в django.

Мой вопрос: как мне получить экземпляр только что зарегистрированного пользователя для создания UserProfile? Я думал, что это будет что-то вроде ниже:

# Registration form validation etc. is complete
cd = form.cleaned_data
user = User.objects.create_user(username=cd['username'], password=cd['password'])
new_user = user.save() # hoping this returns an instance of the user?
activation_key = some_random_generator()
new_profile = UserProfile(user=new_user, token=activation_key)
new_profile.save()

... но new_user возвращается как None, и я полагаю, что должен быть простой способ получить доступ к только что зарегистрированному пользователю, а не запрашивать базу данных на основе имени пользователя / пароля?

Я надеюсь, что это достаточно ясно, спасибо за любую помощь / руководство.

1 Ответ

1 голос
/ 09 сентября 2010

Решил мою собственную проблему.С медленным дневным обучением python / django.

Когда вызывается user.save (), пользовательский объект обновляется новой информацией после вставки базы данных - то есть вновь созданным user.id.Таким образом, сам этот пользовательский объект может быть фактически передан UserProfile ().

...