tgoop.com/ninja_learn_ir/23
Create:
Last Update:
Last Update:
#پست_جدید
حتما شنیدید که کوری ست ها در جنگو تنبل/lazy هستند 🤔
⭕تواین پست میخوایم درموردش صحبت کنیم⭕
منظور ازاینکه کوری ها تنبل هستند دقیقا چیه؟ ❓
منظور از این حرف اینه که تا وقتی که واقعا به داده ها نیاز پیدا نشه ارزیابی نمیشن (کوری ست evaluate نمیشن)
و این ویژگی به پرفورمنس خیلی کمک میکنه
به مثال زیر توجه کنید👇
users = User.objects.all()
خب همینجور که میبینید ما کوری رو نوشتیم ولی اگه ریکوست های سرور رو چک کنیم میبینم هیچ ریکوستی به دیتابیس نمیخوره
ولی دراین مثال👇
users = User.objects.all()
if users:
for user in users:
print(user.name)
در اینجا چون ما از شرط (if) استفاده کردیم کوری ست evaluate میشه و میاد بررسی میکنه ایا کاربری وجود داره یانه و پس از اون میاد نام همه کاربرارو بر میگردونه
❓شاید براتون سوال شده باشه evaluate یعنی چی؟ ❓
یعنی کوری ست ها درجنگو وقتی اجرا میشن همینجوری به دیتابیس فرستاده نمیشن اول تبدیل به کد sql میشن و اون کد sql ایجاد شده به دیتابیس فرستاده میشه
درپست های اینده بیشتر درموردش توضیح میدم
#جنگو #کوری_ست #lazy_querysets
@ninja_learn_ir
BY Ninja Learn | نینجا لرن
Share with your friend now:
tgoop.com/ninja_learn_ir/23