Django:当自动创建用户配置文件时,它设置为什么?

时间:2012-08-04 00:38:56

标签: python django authentication django-models django-users

我有一个在保存用户后自动创建的用户个人资料:

def create_user_info(sender, instance, created, **kwargs):
    if created:
        UserInfo.objects.create(user=instance)

post_save.connect(create_user_info, sender=User)


class UserInfo(models.Model):
    user = models.OneToOneField(User)
    pen_name = models.CharField(max_length=30)
    activated = models.BooleanField()
    def __unicode__(self):
        return self.email + '-' + self.pen_name

当我使用User.objects.create_user函数创建用户对象时,用户配置文件中的变量/字段会发生什么。除非我弄错了,否则他们不能空虚。

2 个答案:

答案 0 :(得分:1)

他们开始时是空的。您可以通过像任何其他模型一样操纵UserInfo来填写字段。

答案 1 :(得分:1)

User Profile与任何其他模型没有什么不同。因此,如果将其保存到数据库而不指定所有字段,它的行为与任何其他模型的行为完全相同。它将有空的字段 在您的情况下,由于您不允许blank=True, null=True,因此会引发错误并要求您指定字段。