معرفی QuerySet (QuerySet Introduction)
QuerySet یعنی «فهرست نتیجه ها». داده ها از دیتابیس می آیند. سپس مثل لیست رفتار می کنند. با فیلتر و مرتب سازی، فقط داده لازم را می گیری. مثل لیست نمره های کلاس که می خواهی مرتب کنی.
QuerySet چیست؟
QuerySet یک مجموعه شیء است. هر شیء یک رکورد است. بنابراین خواندن داده راحت تر می شود.
نمونه ویو: گرفتن همه اعضا
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))
شیء QuerySet داخل context فرستاده می شود. سپس در قالب استفاده می شود.
نمایش QuerySet در قالب
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>
نکته: حلقه for هر شیء را می سازد. سپس فیلدها را چاپ می کند.
گام های عملی
- مدل Member را آماده کن.
- در ویو، از
objects.all()استفاده کن. - QuerySet را در
contextبفرست. - در قالب، با
forردیف ها را بساز.
جمع بندی سریع
- QuerySet یک فهرست از رکوردهاست.
- در ویو ساخته می شود.
- با context به قالب می رود.
- با حلقه for نمایش می دهی.
برای ادامه کار با حلقه ها، بخش حلقه for را ببین. برای شرط ها، بخش شرط if/else مفید است. همچنین برای اجزای مشترک، include را بررسی کن.