1

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

# 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))

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

4

1 回答 1

1

是一个示例,向您展示如何在需要时使用信号来创建新配置文件

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

于 2011-05-22T08:51:23.930 回答