پایتون: نگاهی عمیق تر به نحوه عملکرد معاملات Django

محتوا

  • TLDR – خلاصه منطق معامله Django
  • نمودار منطقی
  • معاملات و عملیات اتمی
  • معاملات در جنگو
  • حالت حقوقی Django-خاموش کردن معاملات خودکار
  • منابع

TLDR – خلاصه منطق معامله Django

این برای برنامه هایی است که Django را با PSQL یا سایر پایگاه داده های مبتنی بر SQL (SQLite ، MySQL و غیره) (DBS) اجرا می کنند. قوانین اساسی پیرامون معاملات ممکن است برای سایر DBS اعمال نشود. در زیر کاپوت ، کد مدیریت معاملات Django موارد زیر را انجام می دهد (این کپی شده از Doc -scroll Django Down -Down- با نکات گلوله شخصی من برای توضیح):

  • هنگام ورود به بیرونی ترین بلوک اتمی ، معامله را باز می کند.
  • هنگام مواجهه با عمل DB ، قفل ها را درخواست کرده و به دست می آورد.
    • تمام عملیات DB به قفل نیاز دارند – برخی از قفل ها سست هستند و به اتصالات دیگر اجازه می دهند تا عملیات را در همان منبع اجرا کنند ، اما قفل های دیگر دقیق تر هستند. آنها منحصر به فرد هستند و هر دو عملیات خواندن و نوشتن را مسدود می کنند. ایجاد ، به روزرسانی و حذف سوابق و همچنین تغییر جداول و ستون ، قفل های دقیق تری را به دست می آورد که سایر اتصالات را از اجرای عملیات مسدود می کند. این قفل ها تا پایان معامله نگه داشته می شوند.

  • هنگام ورود به یک بلوک اتمی داخلی ، یک نقطه ذخیره ایجاد می کند.
    • این به طور خودکار انجام می شود که مثلاً …

Source link