Мониторинг запросов к базе данных в Django, привязанных к номеру строки

StackOverflow https://stackoverflow.com/questions/1811643

  •  06-07-2019
  •  | 
  •  

Вопрос

В нашем проекте происходят странные посторонние попадания в БД. Есть ли способ отслеживать, откуда поступают запросы, возможно, по номеру строки? Промежуточное программное обеспечение для печати SQL помогает, но мы рассмотрели такие запросы, которые могут быть сгенерированы, и не могут найти источник.

Если вышеперечисленное невозможно, любые рекомендации по сужению источника будут с благодарностью.

Это было полезно?

Решение

Чтобы найти код, выполняющий запросы, вы можете установить django-debug-toolbar чтобы выяснить, какие команды выполняются и над какими таблицами они работают.

Как только вы это сделаете, попробуйте подключить соответствующие сигналы Django для этих моделей и использования print и assert для сужения кода.

Я уверен, что есть лучший способ сделать это (отладчик Python?), но это первое, что приходит на ум, и, вероятно, что я в конечном итоге сделаю сам.

Другие советы

если вы хотите отслеживать SQL-запросы для оптимизации производительности и отладки, а также как отслеживать вызов запросов в Django для этого вам поможет этот блог

Отслеживание SQL-запросов для запроса с использованием Django

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top