Django explicitně neposkytuje API pro provádění zamykání tabulky. Podle mých zkušeností dobře navržený kód zřídka potřebuje zamknout celou tabulku a většinu problémů se souběžností lze vyřešit zamykáním na úrovni řádků. Je to poslední pokus:neřeší souběžnost, jednoduše zabíjí jakýkoli pokus o souběžnost.
Pokud opravdu potřebujete zamykání na úrovni tabulky, můžete použít kurzor a provést nezpracované příkazy SQL:
from django.db import connection
with connection.cursor() as cursor:
cursor.execute("LOCK TABLES %s READ", [tablename])
try:
...
finally:
cursor.execute("UNLOCK TABLES;")