Jak filtrować model django według jego obiektów w polu wiele do wielu (dokładne dopasowanie)?

Mam ten model w moim kodzie:

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

i muszę filtrować te obiekty modelu „Rozmowa” przez pole „wielu uczestników” wielu uczestników. Znaczenie: Mam na przykład 3 obiekty użytkownika, więc chcę pobrać tylko te obiekty „Rozmowy”, które mają 3 użytkowników w polu „uczestnicy”.

Próbowałem to zrobić:

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

gdzie nadawca jest obiektem użytkownika, a „odbiorcy” to lista obiektów użytkownika. nie spowoduje to błędu, ale da mi niewłaściwy obiekt rozmowy. Dzięki.

edytuj: Nowsza próba doprowadziła mnie do tego:

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

które mają ten sam problem. Daje obiekty, które mają jednego lub więcej „uczestników” na liście. ale tego, czego szukam, jest dokładne dopasowanie obiektu wiele do wielu. Oznacza to obiekt z dokładnym „Użytkownicy” w relacji wiele do wielu.

edytuj 2: Moja ostatnia próba. nadal nie zadziała.

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