TGViewer
Random shi- tutorials Random shi- tutorials @rs_tutorial · 218 subscribers
Post #1073 140

Forwarded from جنگولرن

اگه بخوای چند تا رکورد توی جنگو رو یکجا آپدیت کنی چکار می‌کنی؟

راه جنگویی ش اینه:

Product.objects.filter(category_id=5).update(is_active=False)



اما مشکلش اینه که update مستقیم کد SQL اجرا میکنه.

یعنی چی؟
یعنی اگه مثلا فیلد تاریخ داشته باشی که auto_now باشه، آپدیت نمیشه.
یا اگه سیگنال pre_save یا post_save هم داشته باشی اجرا نمیشن.

اینجا داکیومنت جنگو بهش اشاره کرده:
https://docs.djangoproject.com/en/5.2/topics/db/queries/#updating-multiple-objects-at-once

روشهای مختلفی هست، برای اینکه این مشکل رو نداشته باشیم. مثلا حلقه بزنیم و save رو اجرا کنیم، که اصلا خوب نیست.
یکی دیگه این روشه:
Product.objects.filter(category_id=5).update(
is_active=False,
updated_at=timezone.now(),
)

شاید مسخره باشه، ولی صراحتا خودمون فیلد updated_at رو مقداردهی کردیم.
بالا گفتم، این کارو نکنیم، جنگو نمیفهمه که اون رکورد تغییر کرده.

اینو اگه میدونستی 👍 بزن، وگرنه 👎 بزن

@DjangoLearn_ir
  • 👎 1
More from @rs_tutorial
  1. Oct 11, 2026Web-servers Dns Fastapi Python for data engineers Python for devops engineers Sql-deep Dat…
  2. Oct 11, 2026۳۶۸ سندباکس تا الان که هرکدوم چندین مرحله دارن عملا ۳۶۸ سناریو هستن که بین رودمپ ها به ترت…
  3. Oct 10, 2026مایکروسافت به‌تازگی یه پروژه سیستم‌عامل مبتنی بر زبان برنامه‌نویسی Rust منتشر کرده که برای…
  4. Oct 10, 2026آخرین مهلت ثبت نام در بوتکمپ با توجه به اینکه ظرفیت بوتکمپ کامل شده نمی تونم برای کلاس آنل…
  5. Oct 10, 2026این نوشته کاری از دوست خوبمون آقای آرین ویسی درمورد یکی از تجربیات و نکات مهمی که این روزه…
  6. Oct 8, 2026‍ اولین نسخه‌ی «قیچی» منتشر شد! ✂️ راست‌ش چند وقتی هست که پیامک‌های تبلیغاتی و اسپم، شدیدا…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →