你好,我对 Django 还很陌生,还不了解用户的基本概念。 我能够创建一个注册页面来创建用户,这些用户显示在管理页面的“身份验证和授权 -> 用户”中。
现在我希望用户登录并创建他们的个人资料。他们应该添加一些额外的信息,如姓名、简介、图片等。 每个用户都应该能够添加和查看自己的个人资料。
为此,我创建了一个模型:
class Profile(models.Model):
firstname = models.CharField(max_length=50)
lastname = models.CharField(max_length=50)
bio = models.TextField()
profile_pic = models.ImageField(upload_to="images/")
def __str__(self):
return self.firstname + ' | ' + self.lastname
在我的 View 和 html 中,我能够将这些信息添加到模型中。 但是我到底如何才能将这个“配置文件”模型与个人用户联系起来呢?我在这里想念什么?
最佳答案
您可以通过在 Profile
和默认 User
之间添加 OneToOneField
关系来实现此目的:
class Profile(models.Model):
<b>user = models.OneToOneField(User, on_delete=models.CASCADE)</b>
firstname = models.CharField(max_length=50)
lastname = models.CharField(max_length=50)
bio = models.TextField()
profile_pic = models.ImageField(upload_to="images/")
def __str__(self):
return self.firstname + ' | ' + self.lastname
关于Django 如何将用户链接到用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69232612/