• [^] # Re: Le buzz autour de Django et les "nouveautés" toutes relatives

    Posté par . En réponse à la dépêche Retour sur Django 1.5. Évalué à 3.

    Un autre sujet qui me gène toujours avec Django, c'est la "non-réutilisabilité" de l'ORM hors web. Comme je n'ai pas beaucoup développé en python ces dernières années, je me demande comment font les dév. utilisant Django pour toutes les tâches de backoffice. Est-ce que vous codez du SQL en dur si vous en avez besoin ? Est-ce que vous utilisez d'autres technos "ORM" ? Est-ce que tout tourne sur un serveur web - quel genre d'infra vous utilisez ?

    Peux-tu expliquer ce que tu entends par la non-réutilisabilité de l'ORM hors web ? Je ne vois pas trop ce qui pourrait empêcher l'utilisation de l'ORM Django en dehors d'un environnement web … même si Django lui-même est très très orienté web.

    Personnellement, pour les tâches CRON, j'utilise un script Python qui ressemble à ceci :

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import os
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
    from myapp.models import Mymodel
    for obj in Mymodel.objects.all():
     print obj
    
    

    Ce script fonctionne très bien hors web, j'ai bien accès à l'ORM de Django. Le seul truc un peu sioux c'est l'ajout de la ligne os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings") avant l'import du modèle.

    Mais ce n'est peut-être pas ce genre de chose que tu appelles des tâches de backoffice…