• 1401/11/11

تفاوت عملگر = با iexact :

سلام وقت بخیر.

لطفا راهنماییم کنید  تفاوت عملگر = و iexact  چی هست چون به ظاهر در جفتش باید  مقدار فیلد  دقیقا برابر یک مقدار باشد ولی وقتی به این گونه کد مینویسیم

query=query.filter(is_active__iexact='True')

یا به این صورت

query=query.filter(is_active__iexact=True)

کار نمیکند وباید به این شکل بنویسم

 query=query.filter(is_active=True)

میخواستم بدونم کلا برای چه query هایی از = و چه نوع query های از iexact استفاده باید کنیم

  • 1401/11/13
  • ساعت 00:08

سلام
iexact روی booleanfiled اعمال نمیشه.

iexact واسه فیلد هایی مثل charfiled یا emailfield که ماهیت متنی یا string دارن استفاده میشه. منظور از i اولش هم insensitive هست به معنای غیرحساس بودن به حروف کوچک یا بزرگ.

=  یا exact هم واسه وقتی استفاده میشه که تطابق کاملو لازم داری. واسه هر فیلدی هم میتونی استفاده کنی.

query=query.filter(is_active=True)
query=query.filter(is_active__exact=True)

هردو کد بالا نتیجه یکسانی دارن.

 


  • 1401/11/13
  • ساعت 00:43

سلام دوست من

پاسخ دوستمون اقای باقری کاملا صحیح هستش

ممنون از شما


  • 1401/12/04
  • ساعت 10:09

خیلی ممنون از پاسختون


  • 1401/12/05
  • ساعت 18:58

خواهش میکنم

ممنون از اقای باقری عزیز

موفق باشین :)


logo-samandehi