使用自定义字段扩展User模型(与Django的身份验证应用程序捆绑在一起)的最佳方法是什么?我也可能希望使用该电子邮件作为用户名(用于身份验证).
我想通过在Django用户个人资料(1.2.5,在Ubuntu整洁的提供的版本)的方式,一些额外的属性添加到用户,但每当我通过管理控制台创建新的用户,新的一个包含的属性(例如,'phone'),我得到一个"列user_id不是唯一的"IntegrityError.
我看到其他人遇到了这个问题,他们似乎通过在userprofile创建信号中添加一个独特的dispatch_uid来解决它,但这对我不起作用:
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class UserProfile(models.Model):
user = models.OneToOneField(User)
phone = models.CharField(max_length=40,blank=True,null=True)
def create_user_profile(sender, instance, **kwargs):
UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User, dispatch_uid="users-profilecreation-signal")
Run Code Online (Sandbox Code Playgroud)
AUTH_PROFILE_MODULE设置为在settings.py中指向此类.
谁知道我做错了什么?