Как увидеть необработанные запросы к 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 реализует некоторые ограничения внешнего ключа на уровне промежуточного программного обеспечения?