代码之家  ›  专栏  ›  技术社区  ›  John Mee

如何查找具有共同联接的对象?

  •  0
  • John Mee  · 技术社区  · 15 年前

    如何找到Bob与之共享组的所有成员?

    class Member(Model):
         name = CharField(max_length=30)
    
    class GroupMember(Model):
         member = ForeignKey(Member)
         group  = ForeignKey(Group)
    
    class Group(Model):
         name = CharField(max_length=30)
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Daniel Roseman    15 年前
    Member.objects.filter(group__in=bob.group_set.all()).exclude(pk=bob.pk)
    

    编辑 我没有注意到你没有在成员和团队之间建立起很多关系。您需要添加:

    class Group(Model):
       name = CharField(max_length=30)
       members = ManyToManyField(Member, through='Membership')
    

    现在,同步数据库应该可以工作了。