1

在尝试将数据添加到创建的 UserProfile 模型时,我遇到了一些障碍,该模型创建的用户信息超出了 django 内置 Auth 组件所提供的内容。

我的问题是如何获取刚刚注册的用户实例以创建 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 并且我认为必须有一种简单的方法来访问刚刚注册的用户,而不是根据用户名/密码重新查询数据库?

我希望这足够清楚,感谢您的帮助/指导。

4

1 回答 1

1

解决了我自己的问题。有一个缓慢的一天学习 python/django。

当 user.save() 被调用时,用户对象在数据库插入后用新信息更新——即新生成的 user.id 。所以这个用户对象本身实际上可以传递给 UserProfile()。

于 2010-09-09T11:50:08.190 回答