tg-me.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:
tg-me.com/djangolearn_ir/1042