Som Mike siger, kan du ikke undgå PyMongo - alle de andre grænseflader bygger ovenpå det. Disse andre grænseflader er uden tvivl unødvendige. ORM'er som dem, der bruges i Django, er nyttige, når de håndterer SQL, fordi de mindsker kompleksiteten ved at oprette SQL-forespørgsler og skemaer og parsing af resultatsæt til objekter.
PyMongo har dog allerede dækket det - forespørgsler går gennem en praktisk og enkel API, og resultater, der kommer fra MongoDB, er allerede per definition objekter (godt, dicts i Python - samme forskel). Hvis du føler, at du virkelig har brug for at dekorere dine Mongo-dokumenter med Python-objekter, er det nemt at tilføje en SON-manipulator til PyMongo. Det gode ved denne tilgang er, at du kan skrive kode direkte på PyMongo og skubbe yderligere funktionalitet ind senere uden at skulle indsætte en ny API mellem din kode og PyMongo.
Hvad er der tilbage? Skemaoprettelse og migrering er noget nyttigt, men er næsten lige så simpelt udført ad hoc - chancerne er, hvis du overvejer at bruge MongoDB, at du alligevel vil bryde ud af den traditionelle SQL-model. Også, hvis der var en fuldt Django-kompatibel MongoDB ORM, kan du muligvis få nogle kilometer ud af det. Alt mindre end det, og du vil sandsynligvis skabe arbejde til dig selv.
Du vil ikke fortryde at bruge PyMongo direkte.
En sidste mulighed, der er værd at se, hvis du er interesseret i topeffektivitet, er den asynkrone version af PyMongo, her:http://github.com/fiorix/mongo-async-python-driver