Python 无法使用Django中的ForeignKey调用QuerySet 版本
Mac OS:10.15.6 Django:3.7.6 我想做什么 获取特定Python 无法使用Django中的ForeignKey调用QuerySet 版本,python,django,Python,Django,Mac OS:10.15.6 Django:3.7.6 我想做什么 获取特定用户拥有的所有想要的\u项目 你好,我是Django的初学者。我正在尝试创建一个每个人都可以交换物品的应用程序。 我创建了模型,User,Parent\u Item,Want\u Item,Give\u Item。我设置了它们之间的关系,如下所示 用户-父项=>一对多 Parent\u Item-给予\u Item=>一对多 Parent\u Item-Want\u Item=>一对多 我成功地获取了一个用户拥有的所
用户拥有的所有想要的\u项目
你好,我是Django的初学者。我正在尝试创建一个每个人都可以交换物品的应用程序。
我创建了模型,User
,Parent\u Item
,Want\u Item
,Give\u Item
。我设置了它们之间的关系,如下所示
用户
-父项
=>一对多
Parent\u Item
-给予\u Item
=>一对多
Parent\u Item
-Want\u Item
=>一对多
我成功地获取了一个用户拥有的所有parent\u项。但是,由于某些原因,我无法获取想要的项目。
这就是我所面临的尝试和错误
>>>toshi_want = Toshi.item.want_item.all()
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'RelatedManager' object has no attribute 'want_item'
>>> toshi_all=Toshi.item.all()
>>> print(toshi_all)
<QuerySet [<Parent_Item: MacBook>, <Parent_Item: Desk>, <Parent_Item: shirt>]>
>>> print(toshi_all.want_item.all())
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'QuerySet' object has no attribute 'want_item'
像这样的
user_primary_key = 1
Want_Item.objects.filter(parent_item__owner=user_primary_key)
我不能评论,所以我在这里回答你。
您的模型“want\u item”与相关名称为“want\u item”的“parent\u item”相关,而不是您的用户模型!
您可以使用:User.item.want\u item
试试toshi\u all[0]。want\u item.all()
谢谢您告诉我。事实上,我有一个问题。我注意到,多亏了你,我才拥有了整个用户
对象。再次非常感谢你,谢谢你教我这个。它起作用了!谢谢你,我得到了所有想要的东西。我能像我一样从User
对象中获取所有want\u项目吗?如果您同意的话,我希望您能告诉我为什么我不能通过用户
对象使用想要的项目
。不,您不能。因为用户
和想要的物品
之间没有直接关系。我明白了。谢谢你教我这一点并帮助我。
user_primary_key = 1
Want_Item.objects.filter(parent_item__owner=user_primary_key)