gpt4 book ai didi

python - 如何使用 related_name 查询 M2M

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

我有两个非常相似的 M2M 领域模型,不知何故,我试图查询其中一个,它工作得很好,但当我尝试使用另一个模型的相同代码时,它给了我错误。我能找到的唯一区别是 lated_name

我找到了解决方法,但我仍然很好奇,如果下次遇到同样的问题,如何才能使其正常工作。

(我只写了我有的M2M字段,每个模型只有一个M2M字段,虽然想一想,如果有多个M2M怎么办,但这不是这个问题)

这是我的工作模型

class Team(View):
members = models.ManyToManyField(User, blank=True)

这是具有上述模型的 View ,(跳过classdef post等等)

user = User.objects.filter(id=111).first()
all_members = user.Team_set.filter() # this would return all

下面是给我带来问题的模型

class Room(View):
participants = models.ManyToManyField(User, blank=True, related_name='participants')

这是上述模型的 View

user = User.objects.filter(id=111).first()
all_p = user.room_set.filter() # this then gives me error of 'User' object has no attribute 'room_set'

预先感谢您的帮助

最佳答案

定义lated_name时,您需要像这样使用它:

Model.related_name.* 

别名lated_model_set被破坏。

话虽如此,您的代码应该如下所示:

user = User.objects.filter(id=111).first()
all_p = user.participants.filter() # this then gives me error of 'User' object has no attribute 'room_set'

关于python - 如何使用 related_name 查询 M2M,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002009/

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