Django 6.0 Tasks with TDD: three walls hidden by the happy path

TL;DR AI
2 min readKey summary
A Django 6.0 tutorial was rebuilt with test-driven development around a fictional cotton trading app.
The rewrite emphasized queue-based task isolation, explicit domain validation, and keeping business rules in an immutable value object.
A key testing issue emerged: Django’s ImmediateBackend cannot fetch task results, leading to NotImplementedError during status checks.
The article shows how backend behavior and domain modeling choices directly affect reliability and testability in production-like Django apps.
