DjangoCon 2021 | Clean Architecture with Django Rethinking basic assumptions | Paul Wolf
Clean Architectures and related architecture patterns like Hexagonal and Onion architecture are intended to provide more maintainable code and lower technical debt. Two parts of Django's architecture, the Django ORM and 3rd party Django REST Frameworks, make it difficult to get the benefits of a Clean Architecture. We look at ways we can achieve the benefits of Clean Architecture (CA) while using the Django framework. What are the various Clean Architecture Patterns and what do they promise to do for you? What is the ideal architecture pattern that Django supports? Problem 1: most Object Relational Mappings including Django's do two things: 1) Specify the persistence model: normalisation of data, efficient storage, efficient lookup, etc. 2) Specify the business entity domain: what business objects does the domain manage The problem is that these are two different goals handled in one framework component, the ORM. Problem 2: REST frameworks have a heavy reliance on the ORM. This ties together the business domain to storage semantics making it hard to achieve some of the benefits of a Clean Architecture. Two solutions paths exist: Django can serve a clean architecture-like paradigm, under specific circumstances. But there is some confusion about what CA looks like in practice that causes developers to go for solutions that are the opposite of CA. The other solution is a more fundamental rethink of how to implement and use ORMs and REST frameworks (including remote request frameworks like GraphQL).

DjangoCon 2021 | KEYNOTE Spreading our tentacles taking a Django app global | Frederike Jaeger

Clean Architectures in Python - presented by Leonardo Giordani

Hexagonal Architecture in Practice, Live Coding That Will Make Your Applications More Sustainable

Clean Architecture vs Domain-Driven Design (DDD) - Understand the Difference

Spec-driven Development: How AI Changed Everything (And Nothing) by Simon Martinelli @ Spring I/O 26

How Netflix Uses Java - 2026 Edition

Radoslav Georgiev - Django structure for scale and longevity

DjangoCon Europe 2025 | How to get Foreign Keys horribly wrong in Django

I Hacked This Temu Router. What I Found Should Be Illegal.

Shahriyar Rzayev: Building Hexagonal Python Services

The Clean Architecture TRAP | Best Practice or Incidental Complexity?

Robert Smallshire - Domain Driven Design Patterns in Python

DjangoCon 2022 | Async Django: The practical guide you've been **awaiting** for.

DjangoCon 2022 | factory_boy: testing like a pro

DjangoCon Europe 2016 - Anton Pirker - Best Practices Scaling Django

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Understand Clean Architecture in 7 Minutes

The BEST Django Library to develop Django applications faster

Dan Palmer - Scaling Django to 500 apps

