tutorial framework djongo django mongodb django-models pymongo django-nonrel

django - framework - djongo



¿Cómo configuro los índices mongoDB en django-nonrel sin usar Modelos? (1)

Con MongoDB no necesita un paso adicional para predefinir el esquema para "configurar" las colecciones. La naturaleza orientada a documentos de MongoDB en realidad no impone un esquema estricto; documentos dentro de una colección pueden tener diferentes campos según sea necesario. Es un concepto diferente para acostumbrarse, pero la colección se creará tan pronto como comience a guardar datos en ella.

Los índices pueden agregarse utilizando ensureIndex de pymongo en una colección.

De forma similar a la creación de la colección en la inserción de datos, también se creará una colección si no existe cuando se agrega un índice.

Un artículo que debería ayudarte a comenzar: usar MongoDB con Django .

Si es nuevo en MongoDB, también puede probar el breve tutorial en línea .

Estoy construyendo un sitio usando mongodb y django-nonrel. He leído en varios lugares que para mongo, es mejor usar pymongo recto que django ORM. Esto también se une a mi experiencia: el ORM de django es increíble para las bases de datos relacionales, pero no da mucho de lo que Pymongo no hace.

Mi problema es que no sé cómo configurar las tablas de la base de datos (err ... "collections") inicialmente sin utilizar el ORM de django. ¿Qué debo hacer para deshacerme de los grilletes de models.py y syncdb, y solo escribir el código yo mismo?

Parece que alguien debería haber creado una guía para esto, pero no puedo encontrarla.

Un poco más de detalle:

En este momento, estoy construyendo modelos y ejecutando syncdb para configurar el DB. Hasta ahora, la magia ORM de django lo ha hecho funcionar. Pero necesito hacer algunas cosas un poco más elegantes, como la indexación en subelementos, así que no creo que el ORM vaya a funcionar más para mí.

Además de eso, no uso modelos (que no sean auth_users y sesiones) en ningún otro lugar del proyecto. Los esquemas reales están definidos en otro lugar en json. No quiero mantener las clases modelo cuando y los esquemas json al mismo tiempo, es solo una mala práctica.

Finalmente, tengo un comando de administración "loadfixtures" que utilizo para descargar, syncdb y cargar dispositivos. Parece que este sería un muy buen lugar para el nuevo código de sustitución de ORM, pero no sé cómo debería ser ese código ...