我试图扩展用户模型,以便我可以添加自己的自定义字段,但我不断收到错误说明:
'NoneType'对象没有属性'_default_manager'
每当我尝试使用
user.get_profile()
将值添加到自定义字段,即每当我像这样使用它时:
user = User.objects.create_user(用户名,电子邮件,密码)user.first_name = fname user.last_name = lname user.save()uinfo = user.get_profile()uinfo.timezone =“Asia / Pune”uinfo.save( )
我已经按照Extending the User model with custom fields in Django给出的步骤没有运气了 .
1 回答
首先:你绝对确定你在settings.py文件中输入了正确的AUTH_PROFILE_MODULE值吗?因为如果此用户没有UserProfile,则异常应该看起来不同 . (不存在)
无论如何:那时没有UserProfile对象,因为它不是自动生成的 . 因此get_profile()会在您的情况下引发异常 .
要么这样做:
或创建一个信号(松散地)描述于http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users