我正在尝试将位置字段添加到 django-registration 中的用户个人资料中。
我添加了以下模型:
# in userprofile/models.py
class Profile(models.Model):
user = models.ForeignKey(User, unique=True)
location = models.CharField(max_length=100, blank=True)
# in settings.py
AUTH_PROFILE_MODULE = 'userprofile.Profile'
这是有效的——get_profile()
当我手动将数据添加到数据库中时有效。但是,我无法弄清楚如何在通过信号注册期间添加配置文件信息。这是我目前拥有的:
# in backend/default/__init__.py
def register(self, request, **kwargs):
username, email, password = kwargs['email'], kwargs['email'], 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)
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
# how to add 'location = USA' to profile via signals here?
return new_user
location=USA
我将如何在上述__init__.py
函数中添加使用信号。