sql >> Database >  >> RDS >> Mysql

Tabel-/rijvergrendelingen uitvoeren in Django

Django biedt niet expliciet een API om tabelvergrendeling uit te voeren. In mijn ervaring hoeft goed ontworpen code zelden een hele tabel te vergrendelen, en de meeste gelijktijdigheidsproblemen kunnen worden opgelost met vergrendeling op rijniveau. Het is een laatste poging:het lost concurrency niet op, het doodt eenvoudig elke poging tot concurrency.

Als je echt vergrendeling op tabelniveau nodig hebt, kun je een cursor gebruiken en onbewerkte SQL-instructies uitvoeren:

from django.db import connection

with connection.cursor() as cursor:
    cursor.execute("LOCK TABLES %s READ", [tablename])
    try:
        ...
    finally:
        cursor.execute("UNLOCK TABLES;")


  1. Hoe voer ik een query uit die is opgeslagen in een tabelkolom MySQL?

  2. Over Neo4j

  3. Meerdere één tot veel relaties in GORM

  4. Geen gegevens meer om uit socket te lezen