Como filtrar o modelo django por seus objetos no campo muitos-para-muitos (correspondência exata)?

Eu tenho esse modelo no meu código:

class Conversation(models.Model):
    participants = models.ManyToManyField(User, related_name="message_participants")

e eu preciso filtrar este modelo de objetos "Conversation" pelo campo "many-to-many" dos "participantes". significado: Eu tenho, por exemplo, 3 objetos User, então eu quero recuperar os únicos objetos "Conversation" que tem este 3 Usuários em seu campo "participants".

Eu tentei fazer isso:

def get_exist_conv_or_none(sender,recipients):
    conv = Conversation.objects.filter(participants=sender)
    for rec in recipients:
        conv = conv.filter(participants=rec)

onde o remetente é um objeto de usuário e "destinatários" é uma lista de objetos de usuário. isso não causará erro, mas me dá o Objeto de Conversação errado. Obrigado.

edit: Uma tentativa mais recente leva-me a isto:

def get_exist_conv_or_none(sender,recipients):
    participants=recipients
    participants.append(sender)
    conv = Conversation.objects.filter(participants__in=participants)
    return conv

que basicamente tem o mesmo problema. Ele produz objetos que tem um ou mais dos "participantes" na lista. mas o que estou procurando é a correspondência exata do objeto muitos-para-muitos. Ou seja, um objeto com os "usuários" exatos em sua relação muitos-para-muitos.

edit 2: minha última tentativa. ainda assim, não vai funcionar.

def get_exist_conv_or_none(sender,recipients):
    recipients.append(sender)
    recipients = list(set(recipients))
    conv = Conversation.objects.annotate(count=Count('participants')).filter(participants=recipients[0])
    for participant in recipients[1:]:
        conv.filter(participants=participant)
    conv.filter(count=len(recipients))
    return conv

questionAnswers(2)

yourAnswerToTheQuestion