Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Comienza a usar las extensiones de Django para MongoDB

En este tutorial, aprenderás a utilizar el paquete Django MongoDB Extensions en tu proyecto Django.

Django MongoDB Extensions es un paquete que amplía el backend de Django MongoDB con herramientas para desarrolladores. Este tutorial muestra cómo configurar el panel del lenguaje de consulta de MongoDB (MQL) en Django MongoDB Extensions para usarlo con la barra de herramientas de depuración de Django. Este panel muestra las consultas MQL que ejecuta tu aplicación durante una solicitud, junto con los tiempos de ejecución y los planes de consulta.

Antes de comenzar este tutorial, completa las siguientes tareas previas:

  • Crea un proyecto Django que utilice el backend Django MongoDB. Para crear un proyecto, consulta la sección correspondiente. Comience con Django MongoDB Backend tutorial.

  • Instala y configura la barra de herramientas de depuración de Django en tu proyecto. Para ver las instrucciones, consulta Instalación en la documentación de la barra de herramientas de depuración de Django.

Los siguientes pasos muestran cómo instalar las extensiones de Django para MongoDB, configurar el panel MQL y visualizar las consultas de MongoDB en la barra de herramientas de depuración de Django.

1

Ejecute el siguiente comando para instalar las extensiones de Django MongoDB:

pip install django-mongodb-extensions
2

Navega al de tu proyecto settings.py archivo y agregue "django_mongodb_extensions" a la configuración INSTALLED_APPS, como se muestra en el siguiente ejemplo:

INSTALLED_APPS = [
'django_mongodb_extensions',
# ... your other apps
]
3

Por defecto, la barra de herramientas de depuración de Django funciona sin necesidad de una configuración DEBUG_TOOLBAR_PANELS. Sin embargo, dado que MongoDB no utiliza SQL, la configuración más común para las aplicaciones MongoDB consiste en reemplazar el panel SQL por el panel MQL. Añada la siguiente configuración a su archivo settings.py, que establece DEBUG_TOOLBAR_PANELS a los valores predeterminados pero reemplaza SQLPanel por MQLPanel:

DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.history.HistoryPanel',
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'django_mongodb_extensions.mql_panel.MQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.alerts.AlertsPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.community.CommunityPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel',
]

Tip

Configuraciones opcionales

Para aprender a configurar los ajustes opcionales que personalizan el comportamiento del panel MQL, consulte el archivo README en el repositorio de extensiones de Django MongoDB en GitHub.

4

Inicie su servidor de desarrollo ejecutando el siguiente comando:

python manage.py runserver

Navegue a cualquier página de su aplicación que consulte MongoDB. Abra la barra de herramientas de depuración de Django y seleccione la MQL Panel para visualizar las consultas de MongoDB ejecutadas durante la solicitud, incluidos sus tiempos de ejecución y planes de ejecución.

5

Si configura las extensiones de Django MongoDB para la aplicación creada en el tutorial Introducción al backend de Django MongoDB, puede navegar 127.0.0.1a http://:8000/recent_movies/ para ver las consultas de MongoDB ejecutadas durante la solicitud.

La barra de herramientas de depuración de Django aparece en el lado derecho de la página. Seleccione la etiqueta MQL para ver la consulta de MongoDB utilizada para mostrar las películas recientes, que se asemeja al siguiente código:

db.movies.aggregate([{'$addFields': {'released': '$released'}}, {'$sort': SON([('released', -1)])}, {'$limit': 5}])

A continuación, puede explorar la información de la consulta haciendo clic en los siguientes botones:

  1. Seleccione el botón + a la izquierda de la consulta para ver el rastreo de la pila, que se asemeja al siguiente código:

    /path/to/site-packages/django/contrib/staticfiles/handlers.py in __call__(80)
    return self.application(environ, start_response)
    /path/to/djangoquickstart/sample_mflix/views.py in recent_movies(11)
    return render(request, "recent_movies.html", {"movies": movies})
    /path/to/site-packages/django/shortcuts.py in render(25)
    content = loader.render_to_string(template_name, context, request, using=using)
    ...
  2. Seleccione el botón Query a la derecha de la consulta, en la columna ACTION, para ver el código MQL con formato legible. Este código MQL se asemeja al siguiente:

    db.movies.aggregate(
    [
    {
    "$addFields": {
    "released": "$released"
    }
    },
    {
    "$sort": {
    "released": -1
    }
    },
    {
    "$limit": 5
    }
    ]
    )
  3. Seleccione el botón Explain a la derecha de la consulta, en la columna ACTION, para ver el plan de ejecución de la consulta. Este plan se asemeja al siguiente código:

    {
    "explainVersion": "1",
    "stages": [
    {
    "$cursor": {
    "queryPlanner": {
    ...
    },
    "executionStats": {
    ...
    }
    },
    "nReturned": 21351,
    "executionTimeMillisEstimate": 59
    },
    {
    "$addFields": {
    "released": "$released"
    },
    "nReturned": 21351,
    "executionTimeMillisEstimate": 70
    },
    {
    "$sort": {
    "sortKey": {
    "released": -1
    },
    "limit": 5
    },
    ...
    }
    ],
    ...
    }

¡Enhorabuena por completar el tutorial de Django MongoDB Extensions! Ahora tienes una aplicación Django que utiliza Django MongoDB Extensions para visualizar y analizar consultas de MongoDB en la barra de herramientas de depuración de Django.

Para obtener más información sobre el paquete Django MongoDB Extensions, consulte django-mongodb-extensions en PyPI y el repositorio django-mongodb-extensions en GitHub.

Para aprender a consultar sus datos, consulte la guía Especificar una consulta.

Volver

Queryable Encryption

En esta página