我目前正在为Django CMS网站上的用户注册申请。
我的注册表单工作正常并创建了用户,并将我的自定义字段添加到我的注册模型中。
我想知道的是如何更新auth_user以包含用户的名字和姓氏。
目前正以这种方式创建用户:
import newform
from betaregistration.newform import RegistrationFormZ
def user_created(sender, user, request, **kwargs):
form = RegistrationFormZ(request.POST)
data = newform.BetaProfile(user=user)
data.first_name = form.data["first_name"]
data.last_name = form.data["last_name"]
data.address = form.data["address"]
data.city = form.data["city"]
data.state = form.data["state"]
data.postal_code = form.data["postal_code"]
data.country = form.data["country"]
data.phone= form.data["phone"]
data.email = form.data["email"]
data.save()
# this was the solution
user.first_name = form_data['first_name']
user.last_name = form_data['last_name']
user.save()
# end solution
from registration.signals import user_registered
user_registered.connect(user_created)
感谢任何帮助。我正在使用django-registration进行注册。
答案 0 :(得分:1)
由于您将用户传递给user_created,您只需修改内容如下:
data.first_name = user.first_name = form.data["first_name"]
data.last_name = user.last_name = form.data["last_name"]
....
user.save()
我可能会遗漏一些东西但是如果你真的有权访问user_created中应该有效的用户。您也可以使用request.user而不是user来执行相同操作。