Django documentation कहा गया है कि:select_for_update Django
यदि आप "स्वचालित लेनदेन" पर निर्भर थे select_for_update() और बाद में लिखने आपरेशन के बीच ताला प्रदान करने के लिए - एक अत्यंत नाजुक डिजाइन, लेकिन फिर भी संभव - आपको परमाणु() में प्रासंगिक कोड लपेटना होगा।
यही कारण है कि यह अब काम नहीं करता है कि autocommit डेटाबेस परत पर किया जाता है, न कि अनुप्रयोग परत? इससे पहले लेन-देन would be held open until a data-altering function is called:
Django के डिफ़ॉल्ट व्यवहार को एक खुला लेन-देन जो यह स्वचालित रूप से करता है जब किसी भी में निर्मित, डेटा फेरबदल मॉडल समारोह
और Django 1.6 के बाद से कहा जाता है के साथ चलाने के लिए है, डेटाबेस परत पर स्वतः कमांड के साथ, select_for_update
उदाहरण के लिए write
वास्तव में दो लेनदेन में चलाएगा? यदि ऐसा है, तो select_for_update
बेकार नहीं है क्योंकि इसका बिंदु lock the rows until a data altering function was called था?
डेटाबेस परत पर Autocommit django 1.6 के साथ आया, 1.5 नहीं। – fabspro
@fabspro धन्यवाद - – Taras