gpt4 book ai didi

python - Django - 如何基于具有 OneToOneField 的用户模型查询用户个人资料

转载 作者:太空宇宙 更新时间:2023-11-03 15:29:59 24 4
gpt4 key购买 nike

我正在使用 Django,并且是编程新手。我想知道如何查询与用户模型具有 OneToOne 关系的用户的个人资料。这是我的代码:

模型.py:

class User(models.Model):

email = models.EmailField(unique=True, null=True)
date_joined = models.DateTimeField(default=datetime.now)
username = models.CharField(max_length=22)

class UserProfile(models.Model):

user = models.OneToOneField(User, on_delete=models.CASCADE)
company_name = models.CharField(max_length=500)
contact_person = models.CharField(max_length=255)
country = models.CharField(max_length=100)
city = models.CharField(max_length=100)

如果用户注册并在验证后填写了他的个人资料。我如何通过views.py查询数据库,对于任何特定用户,他的UserProfile信息是什么。例如,电子邮件 example@examplemail.com 的用户的公司名称或国家/地区是什么

顺便说一句,这也是我在 Django 中捕获有关用户的其他信息的最佳实践吗?

最佳答案

您可以获取用户并使用其 UserProfile,如下所示:

# Make sure you create a UserProfile when you create a new User
user = User.objects.get(email='example@examplemail.com')
user.userprofile.company_name
user.userprofile.country

是的,这是向默认 django 用户模型添加额外字段的推荐方法。请参阅this问题。如果您使用自己的用户模型,则只需将 UserProfile 字段添加到用户模型即可。

关于python - Django - 如何基于具有 OneToOneField 的用户模型查询用户个人资料,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42957533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com