QuerySet bilan tanishuv


ULASHISH

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!