QuerySet’ni saralash


ULASHISH

Saralash (Order By)

QuerySet’larni saralash uchun Django order_by() metodidan foydalanadi:

Misol

Natijani firstname bo‘yicha alifbo tartibida saralash:

mydata = Member.objects.all().order_by('firstname').values()
Misolni ishga tushirish »

SQL’da yuqoridagi operator (so‘rov) quyidagicha yoziladi:

SELECT * FROM members ORDER BY firstname;

Kamayish tartibida saralash

Standart holatda natija o‘sish tartibida saralanadi (eng kichik qiymat birinchi). Yo‘nalishni kamayish tartibiga (eng katta qiymat birinchi) o‘zgartirish uchun maydon nomi oldiga minus belgisini (NOT), ya’ni - belgisini qo‘ying:

Misol

Natijani firstname bo‘yicha kamayish tartibida saralash:

mydata = Member.objects.all().order_by('-firstname').values()
Misolni ishga tushirish »

SQL’da yuqoridagi operator (so‘rov) quyidagicha yoziladi:

SELECT * FROM members ORDER BY firstname DESC;


Bir nechta maydon bo‘yicha saralash

Bir nechta maydon bo‘yicha saralash uchun order_by() metodida maydon nomlarini vergul bilan ajrating:

Misol

Natijani avval lastname bo‘yicha o‘sish tartibida, so‘ng id bo‘yicha kamayish tartibida saralash:

mydata = Member.objects.all().order_by('lastname', '-id').values()
Misolni ishga tushirish »

SQL’da yuqoridagi operator (so‘rov) quyidagicha yoziladi:

SELECT * FROM members ORDER BY lastname ASC, id DESC;


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!