Этот запрос пытается одновременно найти в таблицы запись у которой profile_id=7 и одновременно 20,что невозможно.
Короче, какой вариант могу предложить
partakers = chain(Profile.objects.none(),[Profile.objects.get(id=buddy_id),self.request.user])
dialogs = Dialogue.objects.filter(Partakers__in=partakers).annotate(num_partekers=Count('Partakers'))
dialogs = [dialog for dialog in dialogs if dialog.num_partekers == 2]
print dialogs
По идее должно получиться как раз то, что вы хотите
Или попробуйте подобный фокус провернуть с запросом из моего предыдущего ответа: то есть выбрать диалог с количеством собеседников = 2.
Конечно, не самый красивый запрос, но то, что нужно