J'ai un QuerySet, et je voudrais les ordonner numériquement. Le problème est que les données sont stockées sous forme de chaîne. Je sais comment faire cela en SQL ou dans une liste, mais pas dans un ensemble de requêtes. Est-ce possible ?
Réponse
Trop de publicités?Vous aurez probablement besoin de vous rabattre sur la fonction extra fonction. Peut-être :
ordered = (qs.extra(select={"order_column": "CONVERT(column, INTEGER)"})
.order_by("order_column"))
(En supposant que vous utilisez MySQL)