Archives pour le tag queryset

ORDER BY FIELD en Django

Dernière mise à jour le 25 Mai 2011.

MySQL offre une fonction intéressante lorsqu'on veut ordonner les résultats d'une requête selon un odre précis grâce à la fonction FIELD.

Voici un exemple d'utilisation avec le queryset de Django :

class ClassementManager(models.Manager):
    """
    Ordonner les spécifiquement les classements.
    """
    def get_query_set(self):
        qs = super(ClassementManager, self).get_query_set()
        qs = qs.extra(select={'ponderation': 'FIND_IN_SET(type,"SO,HG,S,T,P,C,D")'})
        qs = qs.extra(order_by=('ponderation', ))
        return qs.all()

Continuer la lecture