Django टेबल लॉकिंग करने के लिए स्पष्ट रूप से एक एपीआई प्रदान नहीं करता है। मेरे अनुभव में, अच्छी तरह से डिज़ाइन किए गए कोड को शायद ही कभी पूरी तालिका को लॉक करने की आवश्यकता होती है, और अधिकांश समवर्ती मुद्दों को पंक्ति-स्तर लॉकिंग के साथ हल किया जा सकता है। यह एक अंतिम प्रयास है:यह समवर्ती को हल नहीं करता है, यह केवल संगामिति के किसी भी प्रयास को मारता है।
यदि आपको वास्तव में टेबल-लेवल लॉकिंग की आवश्यकता है, तो आप कर्सर का उपयोग कर सकते हैं और कच्चे SQL कथन निष्पादित कर सकते हैं:
from django.db import connection
with connection.cursor() as cursor:
cursor.execute("LOCK TABLES %s READ", [tablename])
try:
...
finally:
cursor.execute("UNLOCK TABLES;")