Django leverer ikke eksplicit en API til at udføre tabellåsning. Efter min erfaring behøver veldesignet kode sjældent at låse en hel tabel, og de fleste samtidighedsproblemer kan løses med række-niveau-låsning. Det er en sidste indsats:det løser ikke samtidighed, det dræber simpelthen ethvert forsøg på samtidighed.
Hvis du virkelig har brug for låsning på tabelniveau, kan du bruge en markør og udføre rå SQL-sætninger:
from django.db import connection
with connection.cursor() as cursor:
cursor.execute("LOCK TABLES %s READ", [tablename])
try:
...
finally:
cursor.execute("UNLOCK TABLES;")