通过创建 OneToOneField 扩展用户的最简单方法:
class Profile(models.Model):
user = models.OneToOneField(User,blank=True,null=True)
phone = models.CharField(max_length=200,blank=True,null=True)
location = models.CharField(max_length=200,blank=True,null=True)
等等 - 你的属性
然后,当您注册新用户时,您提供 request.user 作为参数:
profile = Profile.objects.create(user=user,phone=phone,location='')
此时您的用户的额外数据可以通过以下方式访问
user.profile.phone、user.profile.location 等等,因此您可以在需要时将 Profile 模型用作表单的用户扩展。
如果您需要访问用户的属性,请在您的个人资料模型中:
class Profile(models.Model):
user = models.OneToOneField(User,blank=True,null=True)
phone = models.CharField(max_length=200,blank=True,null=True)
location = models.CharField(max_length=200,blank=True,null=True)
@property
def first_name(self):
return self.user.first_name # this will give you user's property