Seperti yang dikatakan Mike, Anda tidak dapat menghindari PyMongo - semua antarmuka lain dibangun di atasnya. Antarmuka lain ini bisa dibilang tidak perlu. ORM seperti yang digunakan dalam Django berguna ketika berhadapan dengan SQL karena mereka mengurangi kerumitan pembuatan kueri dan skema SQL, dan hasil parsing set ke objek.
Namun PyMongo sudah mencakup itu - kueri melalui API yang mudah dan sederhana dan hasil yang berasal dari MongoDB sudah merupakan objek (well, dicts dalam Python - perbedaan yang sama) menurut definisi. Jika Anda merasa benar-benar perlu mendekorasi dokumen Mongo Anda dengan objek Python, Anda dapat menambahkan manipulator SON ke PyMongo dengan mudah. Hal yang menyenangkan tentang pendekatan ini adalah Anda dapat menulis kode secara langsung di PyMongo, dan menggeser fungsionalitas tambahan nanti tanpa harus menyisipkan API baru antara kode Anda dan PyMongo.
Apa yang tersisa? Pembuatan skema dan migrasi agak berguna, tetapi hampir sama sederhananya dilakukan secara ad-hoc - kemungkinan besar jika Anda mempertimbangkan untuk menggunakan MongoDB, Anda tetap ingin keluar dari model gaya SQL tradisional. Juga, jika ada ORM MongoDB yang sepenuhnya kompatibel dengan Django, Anda mungkin mendapatkan jarak tempuh darinya. Kurang dari itu dan Anda mungkin akan menciptakan pekerjaan untuk diri Anda sendiri.
Anda tidak akan menyesal menggunakan PyMongo secara langsung.
Satu opsi terakhir yang layak ditonton jika Anda tertarik dengan efisiensi tertinggi adalah versi asinkron PyMongo, di sini:http://github.com/fiorix/mongo-async-python-driver