Magazine Internet

Chainer les requêtes Django

Publié le 04 mars 2014 par Samuel Martin

from datetime import datetimefrom django.db.models import Managerfrom django.db.models.query import QuerySet    class TodoMixin(object):        def is_done(self):            return self.filter(done=is_true))            #ecrire ici vos nouvelles méthodes
def order_by_user(self):
return self.order_by(user) class TodoQuerySet(QuerySet, PostMixin): pass class TodoManager(Manager, TodoMixin): def get_query_set(self): return TodoQuerySet(self.model, using=self._db) class Todo(models.Model): done = models.BooleanField() objects = PostManager()

L'implémentation permet de passer de :

Todo.objects.filter(done = True)

à

Todo.objects.is_done()

Très pratique côté template.

 Et il est possible de chainer de la facon suivante :

Todo.objects.is_done().order_by_user()

Retour à La Une de Logo Paperblog

A propos de l’auteur


Samuel Martin 21 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine