فهرست سرفصل‌های Django
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) ساخت محیط مجازی (Create Virtual Environment) نصب (Install Django) ساخت پروژه (Create Project) ساخت اپ (Create App) ویوها (Views) آدرس ها (URLs) قالب ها (Templates) مدل ها (Models) افزودن داده (Insert Data) به روزرسانی داده (Update Data) حذف داده (Delete Data) به روزرسانی مدل (Update Model) آماده سازی قالب و ویو (Prep Template and View) افزودن لینک به جزئیات (Add Link to Details) افزودن قالب مادر (Add Master Template) افزودن صفحه ایندکس اصلی (Add Main Index Page) قالب 404 (404 Template) افزودن ویوی تست (Add Test View) پنل مدیریت (Admin) ساخت کاربر (Create User) افزودن مدل ها (Include Models) تنظیم List Display (Set List Display) به روزرسانی اعضا (Update Members) افزودن اعضا (Add Members) حذف اعضا (Delete Members) متغیرها (Variables) تگ ها (Tags) شرط if/else (If Else) حلقه for (For Loop) کامنت (Comment) include (Include) معرفی QuerySet (QuerySet Introduction) متد get (QuerySet Get) فیلتر (QuerySet Filter) مرتب سازی (QuerySet Order By) افزودن فایل های استاتیک (Add Static Files) نصب WhiteNoise (Install WhiteNoise) جمع آوری فایل های استاتیک (Collect Static Files) افزودن فایل های استاتیک سراسری (Add Global Static Files) افزودن استایل به پروژه (Add Styles to the Project) مقدمه (PostgreSQL Intro) ساخت حساب AWS (Create AWS Account) ساخت دیتابیس در RDS (Create Database in RDS) اتصال به دیتابیس (Connect to Database) افزودن اعضا (Add Members) Elastic Beanstalk (EB) ساخت requirements.txt (Create requirements.txt) ساخت django.config (Create django.config) ساخت فایل zip (Create .zip File) استقرار با EB (Deploy with EB) به روزرسانی پروژه (Update Project) افزودن فیلد slug (Add Slug Field) افزودن Bootstrap 5 (Add Bootstrap 5) مرجع تگ های قالب (Template Tag Reference) مرجع فیلترها (Filter Reference) مرجع Field Lookups (Field lookups Reference) کامپایلر (Compiler) تمرین ها (Exercises) آزمون (Quiz) سرفصل (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Django

Django — متد get (QuerySet Get)

آخرین بروزرسانی: 1404/08/20

متد get (QuerySet Get)

اینجا درباره «متد get جنگو» حرف می زنیم. منظور ما «گرفتن داده» از مدل است. QuerySet یعنی فهرست نتایج دیتابیس. سپس می توانی ستون ها یا ردیف های خاص را برگردانی. مثل لیست دانش آموزان که اسم یا نفر خاص را می خواهی.

برگرداندن دیکشنری ها با values()

تابع values() هر ردیف را به دیکشنری (Dictionary) تبدیل می کند. دیکشنری یعنی جفت «کلید:مقدار». بنابراین خواندن فیلدها ساده می شود.

views.py:

from django.http import HttpResponse
from django.template import loader
from .models import Member

def testing(request):
  mydata = Member.objects.all().values()
  template = loader.get_template('template.html')
  context = {
    'mymembers': mydata,
  }
  return HttpResponse(template.render(context, request))

مشاهده در ادیتور

انتخاب ستون های خاص با values_list()

تابع values_list() فقط ستون های درخواستی را می دهد. تاپل (Tuple) یعنی لیست تغییرناپذیر. خروجی هر ردیف یک تاپل است.

views.py:

from django.http import HttpResponse
from django.template import loader
from .models import Member

def testing(request):
  mydata = Member.objects.values_list('firstname')
  template = loader.get_template('template.html')
  context = {
    'mymembers': mydata,
  }
  return HttpResponse(template.render(context, request))

مشاهده در ادیتور

انتخاب ردیف های خاص با filter()

تابع filter() فقط ردیف های مطابق شرط را می آورد. شرط یعنی مقایسه فیلد با مقدار. مثل «نام برابر Emil».

views.py:

from django.http import HttpResponse
from django.template import loader
from .models import Member

def testing(request):
  mydata = Member.objects.filter(firstname='Emil').values()
  template = loader.get_template('template.html')
  context = {
    'mymembers': mydata,
  }
  return HttpResponse(template.render(context, request))

مشاهده در ادیتور

نکته: برای نمایش داده در قالب، آن را در context بفرست. سپس با حلقه for چاپ کن.

گام های عملی

  1. مدل را آماده و مهاجرت را اجرا کن.
  2. در ویو از values() یا values_list() استفاده کن.
  3. اگر لازم بود، با filter() ردیف ها را محدود کن.
  4. QuerySet را در context بگذار و رندر کن.

جمع بندی سریع

  • values(): هر ردیف، دیکشنری می شود.
  • values_list(): فقط ستون های انتخابی.
  • filter(): محدودکردن ردیف ها با شرط.
  • نمایش با حلقه for در قالب.

مطلب پیشنهادی: معرفی QuerySet برای شروع بهتر. همچنین فیلتر کردن QuerySet را بعدش ببین. اگر تازه ای، راهنمای متد get جنگو نقطه مناسبی است.