TGViewer
Random shi- tutorials Random shi- tutorials @rs_tutorial · 218 subscribers
Post #843 137

Forwarded from ZGP

دیدید که توی جنگو وقتی از query set چند بار استفاده میکنیم نتیجه نمیده یا مثلا هیچ دیتایی وارد دیتا بیس نمیشه یا اشتباه وارد میشه؟
خب این یک باگه معروفه به اسم queryset caching bug که توی django ORM هستش.

مشکل کجاست؟
توی جنگو queryset ها lazy هستن و فقط وقتی لازم باشه داده رو از دیتابیس میگیره اما وقتی یک queryset کش میشه (مثلا با() list یا iteration ) نتیجه اش میشه که توی حافظه می مونه و یا همون کش قدیمی رو نگه میداره .
واییییییییییی باگ واقعی از اونجایی شروع شد که متد هایی مثل () count یا () exists هم بعثی وقتا به کش وابسته ان ولی نباید اینطور میشد .
و ممکن بود که شمارش رکورد ها اشتباه باشه و در سیستم های حساس فاجعه به بار می آورد.

و توسعه دهنده هایی که ORM رو عمیق میشناختن تونستن بفهمن مشکل از کجاست.

اومدن رفعش کردن چطوری؟
در نسخه های بعدی جنگو تیم رسمی ORM رو بازسازی کرد تا اون دوتا متد ها همیشه کوئری جداگانه بفرسته و به کش متکی نباشه .


#BUG
#Django
#ORM

@ZGProtocol
  • ❤ 4
More from @rs_tutorial
  1. Oct 15, 2026یسری ابزارها مثل jev, n8n و امثالهم اومدن و یه مدت بولد شدن و بعد رفتن پی کارشون ولی اصول…
  2. Oct 15, 2026چیزهایی که نباید در مصاحبه فنی بگیم در طول مصاحبه فرصت زیادی برای صحبت داریم؛ چه زمانی که…
  3. Oct 14, 2026این سایتو ممد فرستاده می‌گه باهاش می‌تونید دو روزه به صورت تصویری عملی گیت رو یاد بگیرید (…
  4. Oct 11, 2026Web-servers Dns Fastapi Python for data engineers Python for devops engineers Sql-deep Dat…
  5. Oct 11, 2026۳۶۸ سندباکس تا الان که هرکدوم چندین مرحله دارن عملا ۳۶۸ سناریو هستن که بین رودمپ ها به ترت…
  6. Oct 10, 2026مایکروسافت به‌تازگی یه پروژه سیستم‌عامل مبتنی بر زبان برنامه‌نویسی Rust منتشر کرده که برای…
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 →