在django-registration中添加自定义配置文件字段

时间:2011-05-22 05:05:20

标签: django django-registration

我在django-registration中添加了一个额外字段network

# in myproject.userprofile

from django.db import models
from django.contrib.auth.models import User
from myproject.network.models import Network

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    network = models.ForeignKey(Network, unique=True)

# in settings.py

AUTH_PROFILE_MODULE = 'userprofile.UserProfile'

我不需要在表单中添加任何新内容,因为网络是根据用户的授权电子邮件地址生成的。

到目前为止,我有以下内容 - 这是有效的,但显然不是最好的方法 -

profile_additional = UserProfile.objects.create(user=User.objects.get(username=username),network=Network.objects.get(network=EmailList.objects.get(email=email).network))

你能告诉我做同样事情的首选方法吗?我已经阅读了一些关于使用信号添加其他字段的教程,但似乎无法让它自己工作。将非常感谢演示如何执行此操作的代码。谢谢。

1 个答案:

答案 0 :(得分:1)

This是一个示例,可根据需要向您显示how to use signals to create a new profile

您可以在创建配置文件时轻松扩展示例以编辑网络字段,或者每次保存用户时检查网络字段是否已设置。