1

我有一个用户配置文件,它是在保存用户后自动创建的:

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,用户配置文件中的变量/字段会发生什么。除非我弄错了,否则它们不能为空。

4

2 回答 2

1

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

于 2012-08-04T01:02:49.973 回答
1

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

于 2012-08-04T01:05:52.827 回答