Как увидеть необработанные запросы к MongoDB, которые выполняет Djongo?

Я использую djongo в качестве движка коннекта базы данных бэкенда. Решение использовать Django с MongoDB, а также выбор использования Djongo было принято еще до моего прихода в команду.

Я пытаюсь повысить эффективность результата поиска, для которого я хочу знать точный запрос "find", выполняемый на MongoDB. Но я не могу найти способ сделать это. Есть ли способ увидеть точный запрос, который djongo выполняет под капотом?

Следующее: Я не могу написать здесь точный поисковый запрос, но он выглядит примерно так

queryset = (
        ModelName.objects.filter(
            Q(attr1__icontains=search_term) |
            Q(foreign_key1__attr__icontains=search_term)
        )
        .distinct()
        .order_by("-id")
    ).select_related(
        'foreign_key1__attr'
    ).values(
        'attr1',
        'foreign_key1__attr'      
    )

Я немного запутался. Имеет ли вообще смысл Foreign Key, если мой бэкенд - MongoDb? Это некачественный дизайн БД или djongo реализует некоторые ограничения внешнего ключа на уровне промежуточного программного обеспечения?

Вернуться на верх