0
当我试图创建扩展的用户配置文件时,我得到的UserProfile对象是不可订阅的。我已经搜索了解决方案,但'你的对象不是序列'在这里没有什么帮助。下面是我使用的, 'TEMP_DATA' 的功能是从我的登记表中的数据:(Django)对象不可订阅
def create_user(request):
data = request.session['temp_data']
email = data['email']
password1 = data['password1']
userdata = {'email': email, 'password1': password1}
backend = request.session['backend']
#create User
user = backend.register(request, userdata)
data = UserProfile(user=user)
data.is_active = False
data.first_name = data['first_name']
data.last_name = data['last_name']
(... rest of the fields ...)
data.save()
我的扩展模型:
class UserProfile(InheritedProfile):
def upload_path(self, field_attname):
filename = hashlib.md5(field_attname).hexdigest()[:4] + "_" + field_attname
return settings.MEDIA_ROOT + "/uploads/users/%s" % (filename,)
user = models.ForeignKey(User, unique=True, related_name='profile',)
first_name = models.CharField(_("Name"), max_length=50, blank=False,)
last_name = models.CharField(_("Surname"), max_length=50, blank=False,)
street = models.CharField(_("Street"), max_length=50, blank=False,)
code = models.CharField(_("Zip code"), max_length=6, blank=False,)
city = models.CharField(_("City"), max_length=50, blank=False,)
image = models.ImageField(_("Avatar"), upload_to=upload_path, blank=True,)
而且回溯:
File "/home/rails/site-packages/django/core/handlers/base.py" in get_response
92. response = callback(request, *callback_args, **callback_kwargs)
File "/home/rails/registration/views.py" in register_new
115. data.first_name = data['first_name']
当然,你是对的。谢谢 – muntu 2010-07-09 19:40:41