← ClaudeAtlas

mir-backend-python-djangolisted

Make It Right (Django module). Django 6.1 / 5.2 LTS + Django REST Framework specific reliability augmentation. Use alongside the mir-backend skill when the target stack is Django — it carries the mechanical footguns that the framework-agnostic skill deliberately omits: ORM N+1 with select_related/prefetch_related and the new QuerySet.fetch_mode() (FETCH_PEERS / FETCH_RAISE), queryset laziness and result caching, migration safety on populated tables (lock_timeout, AddIndexConcurrently, db_default), transaction.atomic() and on_commit() boundaries, mass assignment through ModelForm and DRF serializers, async views and the async ORM (transactions do NOT work in async; CONN_MAX_AGE must be off), the built-in django.tasks background framework added in 6.0, signal side-effect traps, and Django's own 2026 security advisories. TRIGGER only when the Python backend stack is Django — building, reviewing, or debugging a Django view, model, serializer, migration, task, or admin. Always loads TOGETHER WITH mir-backend (the
anantbhandarkar/make-it-right · ★ 15 · API & Backend · score 81
Install: claude install-skill anantbhandarkar/make-it-right
# /mir-backend-python-django · Make It Right (Django) Bottom tier of the chain: `mir-backend` (generic gates) → `mir-backend-python` (CPython runtime model) → **this** (Django/DRF library mechanics). Run the gates first; load the Python runtime tier for the concurrency/process model; reach for *this* at Gate 5 (design mechanics), Gate 6 (implementation), and Gate 7 review. **Runtime-level concerns (GIL, async-vs-sync, blocking the event loop, fork-safe pools, cold start) live in `mir-backend-python` — not here.** **Stack assumed**, versions verified 13 Aug 2026: | | Version | Notes | |---|---|---| | Current release | **Django 6.1**, released 5 Aug 2026 | Mainstream support to Apr 2027, extended to Dec 2027. Requires **Python 3.12–3.14**. | | Current LTS | **Django 5.2 LTS** | Extended support to **Apr 2028**. Last line to support Python 3.10/3.11. | | Previous | Django 6.0 | Mainstream support ended 4 Aug 2026 — security-only now. | | Next LTS | Django 6.2 LTS, due Apr 2027 | | Django 6.1 also dropped PostgreSQL < 15, MySQL < 8.4, MariaDB < 10.11, and SQLite < 3.37. Rest of the stack: DRF · PostgreSQL (psycopg 3) · Celery, or the built-in `django.tasks` framework added in 6.0. **Say which Django version the project is on before applying any of this** — 5.2 and 6.1 differ materially in the ORM and in the background-task story. ## The Django footguns AI walks into most These are the stack-specific cousins of the failure-mode catalog. Each is something Django/DRF code gets