SQLAlchemijos ORDERAS PAGRINDANT?

Kaip aš galiu naudoti ORDER BY descending SQLAlchemy užklausoje, pavyzdžiui:

Ši užklausa veikia, bet grąžina juos didėjančia tvarka:

15 нояб. nustatoma iki AP257 lapkričio 15 d 2010-11-15 18:47 '10, 18:47, 2010-11-15 18:47
@ 6 atsakymai
 from sqlalchemy import desc someselect.order_by(desc(table1.mycol)) 

Naudokite iš @ jpmc26

285
15 нояб. Atsakymas pateikiamas AP257 lapkričio 15 d. 2010-11-15 18:49 '10 at 18:49 PM 2010-11-15 18:49

Kaip ir pastaba, šiuos dalykus taip pat galite nurodyti kaip stulpelio atributus. Pavyzdžiui, galėčiau padaryti:

 .order_by(model.Entry.amount.desc()) 

Tai patogu, nes galite ją naudoti kitose vietose, pvz., Apibrėžiant santykius ir pan.

Daugiau informacijos galite siųsti.

529
15 нояб. atsakymą pateikė Rick 15 lapkričio. 2010-11-15 20:46 '10, 20:46, 2010-11-15 20:46

Kitas dalykas, kurį galite padaryti:

 .order_by("name desc") 

Tai bus: ORDER BY vardas desc. Trūkumas yra aiškus stulpelio pavadinimas, naudojamas tvarkoje.

60
01 апр. Atsakyti Radu 01 Bal. 2012-04-01 17:03 '12, 17:03, 2012-04-01 17:03

Jūs galite naudoti .desc() savo užklausoje taip pat

 query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount.desc()) ) 

Tai bus sumos tvarka mažėjančia tvarka arba

 query = session.query( model.Entry ).join( model.ClassificationItem ).join( model.EnumerationValue ).filter_by( id=c.row.id ).order_by( model.Entry.amount.desc() ) ) 
11
24 февр. atsakymas duotas anand tripathi 24 vasaris. 2017-02-24 17:45 '17, 17:45 pm 2017-02-24 17:45

Be @Radu atsakymo. Kaip ir SQL, prie parametro galite pridėti lentelės pavadinimą, jei turite daug lentelių su tuo pačiu atributu.

 .order_by("TableName.name desc") 
1
28 авг. Michael Lane atsakymas, rugpjūčio 28 d 2018-08-28 16:01 '18, 4:01 pm 2018-08-28 16:01

Tai galime padaryti keliais būdais. Paprasčiausias būdas tai padaryti yra kitaip.

result=ModelName.query.filter(ModelName.var1==condition).order_by(ModelName.var1.desc())

0
11 дек. Atsakymą pateikė Rahul Chawla 11 d. 2018-12-11 15:24 '18, 15:24 2018-12-11 15:24

Kiti klausimai apie arba Užduoti klausimą