در این مقاله لیستی از QuerySets هایی که اغلب مقداری برنمیگردانند را توصیح می دهیم.
1-latest() :
بر اساس فیلد(های) داده شده، آخرین شی را در جدول پایگاه داده برگردانید.
2-first():
اولین شی مطابق با QuerySet را برگردانید
3-count():
تعداد اشیاء موجود در QuerySet را می شمارد. می توان از آن برای شمارش تمام اشیاء در جدول پایگاه داده استفاده کرد
4-in_bulk()
لیستی از id ها را می گیرد و یک دیکشنری که هر id را به نمونه ای از شی نگاشت می کند، برمی گرداند. اگر لیستی را به in_bulk() ارسال نکنید، همه اشیا برگردانده می شوند
5-aggregate()
یک فرهنگ لغت از مجموع مقادیر محاسبه شده روی QuerySet را برمی گرداند. برای محاسیه میانگین قیمت محصولات سایت و از این ثبیل کاربرد دارد.
6-exists()
اگر QuerySet برگشتی حاوی یک یا چند شی باشد True و اگر QuerySet خالی باشد False را برمیگرداند.
7-earliest()
بر اساس فیلد(های) داده شده، اولین شی در جدول پایگاه داده را برگردانید.
8-iterator()
QuerySet را ارزیابی کنید و یک تکرار کننده روی نتایج برگردانید. می تواند پرفرمنس را برای جستجو هایی که تعداد زیادی اشیاء را برمی گرداند بهبود بخشد.
9-explain()
توضیحی بصورت string از طرح اجرای QuerySet را برمی گرداند. برای تجزیه و تحلیل عملکرد جستجو استفاده می شود.
10-bulk_create()
برای صرفه جویی در ایجاد چندین رکورد از این متد استفاده می کنیم، فقط کافیست لیستی از ابجکت های مورد نظر را به آن بدهیم.
11-bulk_update()
رکورد های مطابق با فیلد جستجو را با لیستی از مواردی بروزرسانی که ایجاد کرده ایم بروز می کند.
12-create()
روش میانبری برای ایجاد و ذخیره یک شی در یک مرحله.
14-get_or_create()
سعی خواهد کرد یک رکوردی مطابق با فیلدهای جستجو را برگرداند. اگر رکوردی وجود نداشته باشد، یک رکورد ایجاد می کند. مقدار بازگشتی یک تاپل حاوی شی ایجاد شده یا بازیابی شده و یک مقدار بولی است که اگر رکورد جدیدی ایجاد شود مقدادرش True خواهد بود
15-get()
یک رکورد مطابق با فیلدهای جستجو را برمیگرداند. (توجه اگر با پارامتر های مورد نظر شما شچن شی وجود داشته باشد خطا میدهد)
16-update()
فیلد مورد نظر را بروزرسانی می کند.
17-as_manager()
یک نمونه کلاس Manager حاوی یک کپی از متدهای QuerySet را برگردانید
18-update_or_create()
برای استفاده از این متد لازم است فیلد خاصی از ایتم مورد نظر را ارسال کنید مثلا ایمیل کاربر رو و با استفاده از اتربیوت defaults و بصورت دیکشنری مورد یا مواردی که قرار است بروز رسانی شودم را ارسال میکنید.
ToDoModel.objects.update_or_create(title='first', defaults={'description':'Complet First Job'})
19-last()
آخرین شی مطابق با QuerySet را برگردانید.
در این مقاله میخوایم 9 تا از متد هایی رو بررسی کنیم که کارایی زیاد در کوئری زدن به دیتا بیس دارن.
20-exclude()
21-annotate()
22-order_by()
23-reverse()
24-distinct()
25-datetimes()
26-all()
27-none()
28-dates()
29-values()
30-values_list()
31-difference()
32-intersection()
33-union()
34-select_related()
35-using()
36-raw()
37-only()
38-prefetch_related()
39-select_for_update()
40-defer()