es

Cómo conectar la base de Datos MongoDB con Django

December 29, 2021

Tags: Tecnologías
python
Unsplash

 

Con Python dominando las preferencias entre developers en cuanto a lenguajes de programación se trata, no es de extrañar que Django, un framework creado para trabajas exclusivamente con este lenguaje, sea uno de los más utilizados este año que finaliza.

 

Antes de entrar de lleno en cómo podemos conectar una base de datos MongoDB con Django, primero vamos a dar una definición general sobre estas dos tecnologías y cómo contribuyen al desarrollo de una aplicación o página web.

 

¿Qué es MongoDB?

 

Acorde a la definición en su página oficial “MongoDB es una base de datos de documentos, lo que significa que almacena datos en documentos similares a JSON. Creemos que esta es la forma más natural de pensar en los datos y es mucho más expresiva y poderosa que el modelo tradicional de filas / columnas”.

 

La manera tradicional en la que se almacenan y utilizan los datos está estructurada en formato de tabla o fila y columna, pero esto no sucede así en tiempo real. MongoDB almacena, en tiempo real, los datos de esta forma usando documentos similares a JSON y NoSQL.

 

¿Qué es Django?

 

De nuevo para definir este framework nos vamos a su página oficial, donde nos dicen “Django es un marco web Python de alto nivel que fomenta el desarrollo rápido y un diseño limpio y pragmático. Creado por desarrolladores experimentados, se encarga de gran parte de la molestia del desarrollo web, por lo que puede concentrarse en escribir su aplicación sin necesidad de reinventar la rueda. Es gratis y de código abierto”.

 

Cómo se conecta MongoDB con Python

 

Para conectar la base de datos MongoDB con Python, el método más popular es utilizando MongoEngine y aquí te explicaremos paso a paso cómo hacerlo:

 

MongoEngine es un mapeador de objetos de documentos (similar a ORM pero para bases de datos de documentos) para trabajar con MongoDB desde Python.

 

Veamos cómo configurar MongoEngine y conectarnos con MongoDb usándolo.

 

Paso 1: instalación:

 

pip install -u mongoengine

 

Paso 2: Requisitos:

 

MongoDB 3.4, 3.6, 4.0
pymongo> = 3.4

 

Asegúrate de tener instalados los requisitos anteriores antes de continuar con los siguientes pasos.

 

Paso 3: Proyecto / settings.py

 

Después de iniciar el proyecto Django, abre el archivo settings.py y agrégale estas líneas. Además, elimina o comenta la sección BASES DE DATOS como se muestra en el siguiente fragmento de código.

 

import mongoengine
mongoengine.connect(db=DATABASE_NAME, host=DATABASE_HOST, username=USERNAME, password=PASSWORD)
#DATABASES = {
# 'default': {
# 'ENGINE': 'djongo', #'django.db.backends.sqlite3',
# 'NAME': 'blogs', # DB name
# 'USER': 'root', # DB User name <optional>
# }
#}

 

No es necesario migrar y realizar migraciones porque estás utilizando MongoEngine ORM.

 

Además, tu archivo models.py se verá como se muestra en el siguiente fragmento de código.

 

Paso 4: proyecto / modelos.py

 

from mongoengine import Document, fields
class Blogs(Document):
   name = fields.StringField()
   topic = fields.StringField()
   date = fields.DateTimeField()
   addition_info = fields.DictField()
 

Te recomendamos en video