QuerySet’ni saralash
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!
