2 votes

Comment ordonner numériquement une propriété de type chaîne de Django QuerySet ?

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 ?

4voto

bradley.ayers Points 13360

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)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X