gpt4 book ai didi

python - OneToOneField Django 的反向关系?

转载 作者:行者123 更新时间:2023-12-01 09:27:55 25 4
gpt4 key购买 nike

我正在使用用户模型

 from django.contrib.auth.models import User

UserProfile 模型扩展了 User 模型

class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='userprofiles')
avatar = models.FileField('img',upload_to='./static/image/')

我需要获取用户的头像,我正在做类似的事情

user = User.objects.get(pk=1)

user.userprofiles

但它引发了我的错误

RelatedObjectDoesNotExist: User has no userprofile.

追踪:

In [5]: user = User.objects.get(pk=1)

In [6]: user.userprofiles
---------------------------------------------------------------------------
RelatedObjectDoesNotExist Traceback (most recent call last)
<ipython-input-6-2253b19e792d> in <module>()
----> 1 user.userprofiles

C:\Program Files\Anaconda3\lib\site-packages\django\db\models\fields\related_des
criptors.py in __get__(self, instance, cls)
405 "%s has no %s." % (
406 instance.__class__.__name__,
--> 407 self.related.get_accessor_name()
408 )
409 )

RelatedObjectDoesNotExist: User has no userprofiles.

最佳答案

您的以下内容有错字:

 user   = models.OneToOneField(User, related_name='userprofiles')
# userprofiles with 's'

然而,您尝试使用 user.userprofile 访问它而不使用 s

您可以删除 lated_name='userprofiles' 中的 s,或者添加 s: --> user.userprofiles 访问用户个人资料

关于python - OneToOneField Django 的反向关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50215761/

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