Python django ORM中的多个查询

Python django ORM中的多个查询,python,django,django-orm,Python,Django,Django Orm,我有以下用户模型 class User(AbstractBaseUser, PermissionsMixin, Base): email = models.EmailField(db_index=True, unique=True, max_length=255) mobile = PhoneNumberField(null=True) 和房间模型 class Room(Base): name = models.CharField(db_index=True, uniq

我有以下用户模型

class User(AbstractBaseUser, PermissionsMixin, Base):
    email = models.EmailField(db_index=True, unique=True, max_length=255)
    mobile = PhoneNumberField(null=True)
和房间模型

class Room(Base):
    name = models.CharField(db_index=True, unique=True, max_length=255)
    members = models.ManyToManyField(User)
我想检查一下是否有一个房间同时有a和b作为成员。我试过这个

PrivateRoom.objects.filter(members__id=first.id, members__id=second.id).exists()
这给了我一个错误
关键字参数重复

有人能帮我查询一下吗。

您需要将其拆分为两个
。筛选(…)
调用:

PrivateRoom.objects.filter(members__id=first.id).filter(members__id=second.id).exists()
这不仅是因为您不能在Python函数调用中使用相同的命名参数,而且如果这是可能的(使用
Q
对象),这将意味着您正在寻找
id
都等于
first.id
second.id
的单个成员

这不是您想要的:您需要两个不同的联接:一个用于第一个成员,另一个用于第二个成员