Ho una tabella con un campo nome (varchar) che contiene solo stringhe numeriche e desidero ordinare le mie query in questo campo. Ma i campi dei nomi sono ordinati in ordine alfabetico, ma voglio che vengano ordinati numericamente. Ad esempio se ottengo 1 2 200 100 come campi nome valori, si ordina come 1 100 200 2 ma devo loro di essere 1 2 100 200.Ordinamento del risultato della query mediante stringhe numeriche in django (backend postgres)
ho potuto essere in grado di elaborare seguente riga query
select *
from my_table as t
where t.foo='bar'
order by cast(t.name as integer);
Ma non è possibile rappresentarlo come django orm querysets? c'è un modo per farlo?
cosa accadrebbe se uno o più valori nella colonna c'erano numeri interi validi, sarebbe ricorrere ad alfabetico, applicare nessun ordine o fallire? – sthzg
Fallirebbe su PostgreSQL e andrebbe bene su MySQL ... Ho appena scoperto dopo la transizione da db ... Se qualcuno sa come aggirare questo, sarebbe fantastico! – gabn88
Interessato a una soluzione per questo, abbiamo una colonna che ha sia il testo che i numeri interi. Quando viene ordinato '10' si trova accanto a '1' invece che sotto '9'. –