Maison > développement back-end > Tutoriel Python > Comment puis-je enregistrer toutes les requêtes SQL dans Django ?

Comment puis-je enregistrer toutes les requêtes SQL dans Django ?

Patricia Arquette
Libérer: 2024-10-17 17:27:03
original
499 Les gens l'ont consulté

How Can I Log All SQL Queries in Django?

Consignation des requêtes SQL dans Django

Cette question recherche une méthode pour enregistrer toutes les requêtes SQL exécutées par une application Django, y compris celles provenant du site d'administration. La tâche consiste à créer un fichier journal central (par exemple, all-sql.log) pour capturer ces instructions SQL.

Configuration de LOGGING :

Pour y parvenir, fusionnez l'extrait suivant avec le champ LOGGING dans vos paramètres.py :

<code class="python">LOGGING = {
    'version': 1,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        }
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'DEBUG',
            'handlers': ['console'],
        }
    }
}</code>
Copier après la connexion

Explication :

  • Définissez 'level' : 'DEBUG' pour tout capturer Requêtes SQL, quelle que soit leur gravité.
  • Utilisez 'handlers' : ['console'] pour rediriger les requêtes SQL vers la sortie de la console.
  • Configurez les 'loggers' : {'django.db. backends' : {'level' : 'DEBUG'}} pour enregistrer toutes les requêtes SQL exécutées via l'ORM Django.

Remarque :

Cette solution provient d'après la réponse de @ acardenas89. Il garantit que toutes les requêtes SQL exécutées par Django sont écrites sur la console lorsque l'application est en mode débogage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal