#پست_جدید
حتما شنیدید که کوری ست ها در جنگو تنبل/lazy هستند 🤔
⭕تواین پست میخوایم درموردش صحبت کنیم⭕
منظور ازاینکه کوری ها تنبل هستند دقیقا چیه؟ ❓
منظور از این حرف اینه که تا وقتی که واقعا به داده ها نیاز پیدا نشه ارزیابی نمیشن (کوری ست evaluate نمیشن)
و این ویژگی به پرفورمنس خیلی کمک میکنه
به مثال زیر توجه کنید👇
خب همینجور که میبینید ما کوری رو نوشتیم ولی اگه ریکوست های سرور رو چک کنیم میبینم هیچ ریکوستی به دیتابیس نمیخوره
ولی دراین مثال👇
در اینجا چون ما از شرط (if) استفاده کردیم کوری ست evaluate میشه و میاد بررسی میکنه ایا کاربری وجود داره یانه و پس از اون میاد نام همه کاربرارو بر میگردونه
❓شاید براتون سوال شده باشه evaluate یعنی چی؟ ❓
یعنی کوری ست ها درجنگو وقتی اجرا میشن همینجوری به دیتابیس فرستاده نمیشن اول تبدیل به کد sql میشن و اون کد sql ایجاد شده به دیتابیس فرستاده میشه
درپست های اینده بیشتر درموردش توضیح میدم
#جنگو #کوری_ست #lazy_querysets
@ninja_learn_ir
حتما شنیدید که کوری ست ها در جنگو تنبل/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
❤7👍3🔥1
#پست_جدید
توی پست قبلی درمورد lazy بودن کوری ست ها صحبت کردیم
⭕ توی این پست میخوایم درموردش عمیق تر بشیم
توجه❗️
تمام مثال های این پست با توجه به معماری MVT در نظر گرفته شده است.
به مثال زیر توجه کنید 👇
خب بنظرتون توی این مرحله کوری ست evaluate میشه؟ ❓
خیر هیچوقت در این مرحله evaluate نمیشه و توی تمپلیت وقتی که داریم روش یه عملیتای انجام میدیم evaluate میشه ( جلوتر توضیح میدم)
به این مثال توجه کنید 👇
همونطور که میبینید دراین کد ما اومدیم درون تمپلیت روی users حلقه for زدیم و اسامی کاربران رو گرفتیم
با توجه به lazy بودن کوری ست ها که در پست قبل توضیح دادم در مرحله حلقه زدن عملیات evaluation صورت میگیره و کوری ست تبدیل به کد sql میشه و به دیتا بیس فرستاده میشه و ریزالت رو برمیگردونه
پس بازم اینجا اثبات شد فقط وقتی کوری ست اجرا میشه که بهش نیاز پیدا کنیم
#جنگو #کوری_ست #lazy_querysets
@ninja_learn_ir
توی پست قبلی درمورد lazy بودن کوری ست ها صحبت کردیم
⭕ توی این پست میخوایم درموردش عمیق تر بشیم
توجه❗️
تمام مثال های این پست با توجه به معماری MVT در نظر گرفته شده است.
به مثال زیر توجه کنید 👇
def get_users_list(request):
users = User.objects.all()
return render(request, "panel/ users.html", {"users": users})
خب بنظرتون توی این مرحله کوری ست evaluate میشه؟ ❓
خیر هیچوقت در این مرحله evaluate نمیشه و توی تمپلیت وقتی که داریم روش یه عملیتای انجام میدیم evaluate میشه ( جلوتر توضیح میدم)
به این مثال توجه کنید 👇
{% for user in users %}
<h1> {{user.name}} </h1>
{% endfor %}
همونطور که میبینید دراین کد ما اومدیم درون تمپلیت روی users حلقه for زدیم و اسامی کاربران رو گرفتیم
با توجه به lazy بودن کوری ست ها که در پست قبل توضیح دادم در مرحله حلقه زدن عملیات evaluation صورت میگیره و کوری ست تبدیل به کد sql میشه و به دیتا بیس فرستاده میشه و ریزالت رو برمیگردونه
پس بازم اینجا اثبات شد فقط وقتی کوری ست اجرا میشه که بهش نیاز پیدا کنیم
#جنگو #کوری_ست #lazy_querysets
@ninja_learn_ir
Telegram
Ninja Learn | نینجا لرن 🥷
#پست_جدید
حتما شنیدید که کوری ست ها در جنگو تنبل/lazy هستند 🤔
⭕تواین پست میخوایم درموردش صحبت کنیم⭕
منظور ازاینکه کوری ها تنبل هستند دقیقا چیه؟ ❓
منظور از این حرف اینه که تا وقتی که واقعا به داده ها نیاز پیدا نشه ارزیابی نمیشن (کوری ست evaluate…
حتما شنیدید که کوری ست ها در جنگو تنبل/lazy هستند 🤔
⭕تواین پست میخوایم درموردش صحبت کنیم⭕
منظور ازاینکه کوری ها تنبل هستند دقیقا چیه؟ ❓
منظور از این حرف اینه که تا وقتی که واقعا به داده ها نیاز پیدا نشه ارزیابی نمیشن (کوری ست evaluate…
👍18