63 votes

Quelqu'un a-t-il déjà utilisé Django-Mongodb?

Je ne trouve aucune documentation sur ce forum ni sur aucun forum. Quelqu'un at-il au moins passé par leur testapp? J'ai l'impression qu'il y a des erreurs dans leur code (obsolète depuis la version la plus récente de pymongo), mais je viens de commencer avec pymongo et je ne suis pas tout à fait sûr. Existe-t-il de bonnes ressources sur Django-Mongodb ou ce projet est-il un peu mort?

Plus généralement, quelqu'un a-t-il utilisé MongoDB avec Django?

73voto

HarryM Points 1382

Je suis en train de travailler sur MongoEngine, un ORM comme wrapper pour PyMongo, (la documentation ici) et de mieux Django intégration est l'un de nos objectifs futurs. Au moment où nous fournir un Django d'authentification client qui s'exécute sur MongoEngine des sessions et des settings.py configuration de base de données, nous l'espérons suivre dans un avenir proche. Pour plus d'infos, consultez la page de documentation sur l'aide de MongoEngine avec Django.

Plus généralement, personne n'a utilisé MongoDB avec Django?

Je suis en train de travailler sur un projet qui montre comment utiliser Django avec MongoEngine; il est sur GitHub si vous voulez avoir un jeu avec elle, ou prendre un coup d'oeil au code. MongoEngine joue assez bien avec Django - il suffit de ne pas spécifier l'habitude paramètres de base de données dans settings.py au lieu d'appeler mongoengine.connect() quelque part dans settings.py et vous pouvez utiliser MongoEngine comme d'habitude dans Django.

9voto

Tom Gruner Points 3570

Oui, effectivement, il fonctionne très bien.

Je suis le seul à l'utiliser dans le développement, et n'ont pas déployé en production encore. Les gens à Tous les Boutons Pressés ont publié un Django backend pour mongodb:

http://www.allbuttonspressed.com/blog/django/2010/05/MongoDB-backend-for-Django-nonrel-released

Bien sûr, la grande limitation est qu'il y a pas tout m2m champs dans mongodb, mais c'est ok pour contourner puisque les clés sont prises en charge.

6voto

techpaisa Points 171

Oui, j'ai été en utilisant cette version (django-mongodb) depuis plus d'un an maintenant et il gels en douceur avec django.

J'ai d'abord commencé à l'aide de mongoengine et c'est un bon logiciel, mais j'ai vite couru dans des problèmes parce qu'il n'était pas le montage du django structure standard.

Par exemple, pour définir un modèle dans django, à l'aide de django-mongodb, vous suivrez le django style et hériter de modèles.Modèle de classe mais dans mongoengine, vous avez pour hériter d'une classe de Document.

Et le code est également différent, par exemple pour effectuer une itération sur un exemple de modèle de Blog. Dans django-mongodb, vous pouvez le faire

for blog in Blog.objects.all():
   pass

qui est la façon dont vous accédez aux objets dans django n'importe ce que le backend est mais dans mongoengine, vous devez écrire

for blog in Blog.objects:
   pass

qui selon moi n'est pas un django façon de faire les choses et est très gênant.

Dans django-mongodb, il y a aussi un faible niveau de premières opérations à l'aide de raw_query et raw_update méthodes qui est très utile.

Si vous avez été en utilisant django avec d'autres backedns comme MYSQL puis avec django-mongodb vous n'aurez pas de problème en changeant le backend de mongodb. Donc dans l'ensemble, selon moi, django-mongodb est une meilleure façon d'utiliser mongodb avec django. Si vous souhaitez commencer avec django-mongodb, ici est l'endroit où l'ensemble de la documentation est fait.

3voto

mdirolf Points 3804

Selon mes connaissances, django-mongodb n'est pas activement développé. Cependant, certaines personnes utilisent MongoDB avec Django. Peut-être voudriez-vous regarder ce projet pour un exemple d'utilisation de PyMongo avec Django.

2voto

Scott J Roberts Points 21

Les membres de MongoDB ont dressé une liste de projets pouvant être utiles.

PyMongo ORM Couches

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X