我有一个在保存用户后自动创建的用户个人资料:
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
函数创建用户对象时,用户配置文件中的变量/字段会发生什么。除非我弄错了,否则他们不能空虚。
答案 0 :(得分:1)
他们开始时是空的。您可以通过像任何其他模型一样操纵UserInfo
来填写字段。
答案 1 :(得分:1)
User Profile
与任何其他模型没有什么不同。因此,如果将其保存到数据库而不指定所有字段,它的行为与任何其他模型的行为完全相同。它将有空的字段
在您的情况下,由于您不允许blank=True, null=True
,因此会引发错误并要求您指定字段。