QuerySet bilan tanishuv
Django QuerySet
QuerySet — ma’lumotlar bazasidan olingan ma’lumotlar to‘plami.
QuerySet obyektlar ro‘yxati shaklida tuziladi.
QuerySet’lar ma’lumotlarni dastlabki bosqichdayoq filtrlash va saralash imkonini berib, sizga haqiqatan kerak bo‘lgan ma’lumotlarni olishni osonlashtiradi.
Ushbu darslikda Member jadvalidan ma’lumotlarni so‘rab olamiz.
Member:
| id | firstname | lastname | phone | joined_date |
|---|---|---|---|---|
| 1 | Emil | Refsnes | 5551234 | 2022-01-05 |
| 2 | Tobias | Refsnes | 5557777 | 2022-04-01 |
| 3 | Linus | Refsnes | 5554321 | 2021-12-24 |
| 4 | Lene | Refsnes | 5551234 | 2021-05-01 |
| 5 | Stalikken | Refsnes | 5559876 | 2022-09-29 |
Ma’lumotlarni so‘rab olish
views.py faylida testing nomli test view’imiz bor, unda turli so‘rovlarni sinab ko‘ramiz.
Quyidagi misolda Member modelining barcha yozuvlari va maydonlarini olish uchun .all() metodidan foydalanamiz:
View
views.py:
from django.http import HttpResponse
from django.template import loader
from .models import Member
def testing(request):
mydata = Member.objects.all()
template = loader.get_template('template.html')
context = {
'mymembers': mydata,
}
return HttpResponse(template.render(context, request))
Obyekt mydata nomli o‘zgaruvchiga joylanadi va shablonga context obyekti orqali mymembers nomi bilan yuboriladi. U quyidagicha ko‘rinadi:
<QuerySet [
<Member: Member object (1)>,
<Member: Member object (2)>,
<Member: Member object (3)>,
<Member: Member object (4)>,
<Member: Member object (5)>
]>
Ko‘rib turganingizdek, Member modelimizda 5 ta yozuv bor va ular QuerySet ichida 5 ta obyekt sifatida keltirilgan.
Shablonda kontent hosil qilish uchun mymembers obyektidan foydalanishingiz mumkin:
Shablon
templates/template.html:
<table border='1'>
<tr>
<th>ID</th>
<th>Firstname</th>
<th>Lastname</th>
</tr>
{% for x in mymembers %}
<tr>
<td>{{ x.id }}</td>
<td>{{ x.firstname }}</td>
<td>{{ x.lastname }}</td>
</tr>
{% endfor %}
</table>
Misolni ishga tushirish »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
