Python 如何查询具有相关\u名称的M2M
我有两个非常相似的M2M字段模型,不知怎的,我试图查询其中一个工作得很好,但当我尝试与另一个相同的代码时,它会给我错误。我能找到的唯一区别是Python 如何查询具有相关\u名称的M2M,python,django,many-to-many,Python,Django,Many To Many,我有两个非常相似的M2M字段模型,不知怎的,我试图查询其中一个工作得很好,但当我尝试与另一个相同的代码时,它会给我错误。我能找到的唯一区别是相关的\u名称 我找到了一个解决办法,但我仍然很好奇,如果我下次遇到同样的问题,我如何才能让这个工作 (我只写了我拥有的M2M字段,每个模型只有一个M2M字段,即使想起来,如果有多个M2M,该怎么办,但这是不可能的) 这是我的工作模式 class Team(View): members = models.ManyToManyField(User, b
相关的\u名称
我找到了一个解决办法,但我仍然很好奇,如果我下次遇到同样的问题,我如何才能让这个工作
(我只写了我拥有的M2M字段,每个模型只有一个M2M字段,即使想起来,如果有多个M2M,该怎么办,但这是不可能的)
这是我的工作模式
class Team(View):
members = models.ManyToManyField(User, blank=True)
这是上述模型的视图(跳过类
、def post等)
下面是给我带来问题的模型
class Room(View):
participants = models.ManyToManyField(User, blank=True, related_name='participants')
这是上述模型的视图
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'
提前感谢您在定义相关\u名称时提供的任何帮助,您需要这样使用它:
Model.related_name.*
别名相关模型集
被销毁
因此,您的代码应该如下所示:
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'
啊!!好的,它将使它像一个user
字段,它确实可以工作~thx-thx,但需要等待几分钟,直到我可以接受为止answer@Tsuna很高兴它有帮助!
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'