tgoop.com/djangolearn_ir/1042
Last Update:
عبارات شرطی در جنگو (Conditional Expressions) ⚖️
از لینکدین علی سیرجانی
با یکم کم کردن متن، که اینجا جا بشه 😬
فرض کن یه مدل به اسم Product داری که می خوای براساس قیمت هر محصول، یه لیبل توی کوئری ست برگردونی:
- اگه قیمت کمتر از ۱۰ باشه → لیبل cheap
- اگه بین ۱۰ تا ۵۰ باشه → لیبل moderate
- اگه ۵۰ یا بیشتر باشه → لیبل expensive
- و اگه هیچ کدوم از شرایط بالا نباشه → لیبل پیش فرض unknown
با استفاده از ابزارهای شرطی مثل Case و When توی Django ORM، این کار خیلی تمیز و بهینه انجام می شه. (نمونه کد داخل تصویر)
🔍 چی داریم اینجا؟
- از Case برای ساختن یک عبارت شرطی کلی استفاده کردیم.
- When شرط های مختلف رو بررسی می کنه.
- then مشخص می کنه اگر اون شرط برقرار بود، چه مقداری برگشت داده بشه.
- و برای مقداردهی به then یا default از ()Value استفاده کردیم.
💡 Value چیه؟
وقتی می خواید یک مقدار ثابت (مثل عدد، رشته، لیست و...) رو مستقیماً داخل کوئری دیتابیس استفاده کنید، از ()Value استفاده می کنید. این کار باعث میشه جنگو بفهمه که اون مقدار، یه فیلد از دیتابیس نیست، بلکه یه مقدار ثابته که باید وارد کوئری بشه.
BY جنگولرن

Share with your friend now:
tgoop.com/djangolearn_ir/1042
