CURSOR RULESDjango 5 Cursor Rules (.mdc) | Async ORM & Ninja API Generator
Production-grade architectural rulebook for Django 5 & Ninja / DRF. Engineered to eliminate LLM hallucinations, enforce strict deterministic conventions, and prevent architectural drift across Cursor IDE, Claude Code CLI, and autonomous multi-agent pipelines.
.cursor/rules/python-django.mdcFailure Patterns Prevented for Django 5 & Ninja / DRF
Django 5 introduces asynchronous ORM methods, generated model fields, and modern API patterns via Django Ninja and DRF. LLMs constantly hallucinate synchronous N+1 queries inside async views, unparameterized raw SQL, and unmanaged migration modifications.
- Invokes deprecated or removed APIs from older model training weights
- Generates conflicting configuration files and invalid imports
- Silently drops type-safety, boundaries, or transaction isolation
Code Standards: Anti-Pattern vs Verified Implementation
# Discouraged: Synchronous blocking query inside async context & N+1 queries
@router.get("/articles/{article_id}")
async def get_article(request, article_id: int):
article = Article.objects.get(id=article_id) # Synchronous blocking call!
return {"id": article.id, "title": article.title, "author": article.author.username} # N+1 DB hit!from ninja import Router, Schema
from django.shortcuts import aget_object_or_404
from .models import Article
router = Router()
class ArticleOut(Schema):
id: int
title: str
author_name: str
@router.get("/articles/{article_id}", response=ArticleOut)
async def get_article(request, article_id: int):
# Asynchronous fetch with joined relationship preventing N+1
article = await Article.objects.select_related("author").aget(id=article_id)
return {
"id": article.id,
"title": article.title,
"author_name": article.author.username,
}How to Install Django 5 & Ninja / DRF Cursor Rules (.mdc) via Terminal
Step 1: Open Project Directory & Verify Target Placement
Open your terminal and navigate to your project root folder where the .cursor/rules/python-django.mdc file will reside. Ensure the file is placed at the exact path below relative to your project root so the AI engine automatically loads it:
Step 2: Fetch Rule File via Terminal Command
Run curl, PowerShell, or wget to stream the rule directly from the DevScratchpad raw API endpoint and write it to .cursor/rules/python-django.mdc:
Terminal One-Liner Install
Run directly in your project root to stream and write this rule file with one command.
mkdir -p ".cursor/rules" && curl -fsSL "https://www.devscratchpad.tech/api/raw/cursor-rules/python-django" -o ".cursor/rules/python-django.mdc"Step 3: Verify and Activate with AI Agent
Launch your AI coding assistant (Cursor IDE & Composer). The assistant will automatically discover .cursor/rules/python-django.mdc in your repository and apply the architectural guardrails, type constraints, and verification protocols during code generation.
Cursor Rules (.mdc) Directory & Generator
Inspect the complete specification manual, glob patterns, directory rules, and all available presets in our central directory.
Technical FAQ: Django 5 & Ninja / DRF AI Rulebooks
Does this enforce Django 5 async ORM conventions?
Yes, it guides the model to use aget(), afilter(), and acreate() in async view functions.
Can this be used with Django REST Framework or Django Ninja?
Yes, it supports both DRF serializers and modern Pydantic-powered Django Ninja endpoints.