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()
