【发布时间】:2011-05-15 19:47:08
【问题描述】:
我在 django-registration 中添加了附加字段 first_name 和 last_name,并通过以下方式使其工作——
# `registration/backends/default/__init__.py`
from django.contrib.auth.models import User
class DefaultBackend(object):
def register(self, request, **kwargs):
username, email, first_name, last_name, password =
kwargs['email'], kwargs['email'], kwargs['first_name'], kwargs['last_name'], kwargs['password1']
if Site._meta.installed:
site = Site.objects.get_current()
else:
site = RequestSite(request)
new_user = RegistrationProfile.objects.create_inactive_user(username, email,
password, site)
# to create the additional first_name, last_name fields
additional = User.objects.filter(username=username).update(first_name=first_name, last_name=last_name)
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
return new_user
使用.update() 是添加这些附加字段的好方法吗?如果没有,什么是更好的使用方法(由于某种原因,注册过程似乎执行得很慢)?谢谢。
【问题讨论】:
标签: django django-models django-registration