Practical Guide to Database Locks with Django
09-08, 11:55–12:30 (Europe/Lisbon), Auditorium

Race conditions? No problem! Dive into the world of database locks with Django and gain hands-on knowledge on how to eliminate race conditions, maintain order, and boost your application's performance.


Imagine organizing and managing a party with a Django project, where everyone wants to be part of the action. But how can you prevent chaos and ensure order amid the commotion? That's where database locks swoop in like party bouncers, maintaining a queue at the door!

  • Introduction to Database Locks (5 minutes)
    Overview of database locks and their importance in concurrent environments

  • Types of Database Locks (5 minutes)
    Shared locks vs. exclusive locks
    Row-level locks vs. table-level locks

  • Locking Strategies in Django (10 minutes)
    Database-level vs. application-level locking
    Utilizing Django's built-in locking mechanisms (select_for_update(), transaction.atomic())

  • Practical Use Cases (10 minutes)
    Handling concurrent requests and preventing race conditions
    Ensuring transactional integrity with locks
    Implementing optimistic locking to avoid conflicts

  • Q&A

I’ve been tinkering with web projects since my childhood, and that curiosity eventually led me to pursue a career in software development. With over seven years of professional experience in the industry, I’ve had the opportunity to work on a diverse range of projects and technologies.