CURSOR RULESDjango 5 Cursor Rules (.mdc) | Async ORM & Ninja API Generator
Generate production Django 5 Cursor rules enforcing async ORM queries, Django Ninja typed schemas, strict migrations, and query optimization. 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.
.cursor/rules/python-django.mdcWhat this file changes 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.
Django 5 & Ninja / DRF: code to avoid and code to write instead
# 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: Check that Cursor uses it
Cursor picks up rules in .cursor/rules/ automatically. This one attaches when files matching its globs are in the request, or when you @-mention it.
Cursor rules generator: .cursor/rules/*.mdc for your stack
Cursor Rules (.mdc): how it works, where the file goes, and every Cursor Rules preset.
Tools for Django 5 & Ninja / DRF work
Browser-based utilities to test, format and inspect the code your AI tool writes. Nothing you paste is uploaded.
cURL to JavaScript Fetch
Translate bash cURL commands into JavaScript fetch() API calls.
cURL to Python Requests
Translate bash cURL commands into Python `requests` code.
JSON Formatter & Validator
Format, validate, and minify JSON with interactive syntax highlighting.
HMAC Generator
Compute Hash-based Message Authentication Codes (HMAC) using SHA256, SHA512, etc.
Live Repository & Schema Ingestion
Inspect any public or private GitHub repository, or paste SQL DDL and Prisma models directly in AI Skill Studio to auto-generate authentic rules. Zero server transmission.
Migrating from Legacy .cursorrules or CLAUDE.md?
Use the free, in-browser converter to turn one long rules file into Cursor .mdc, Claude SKILL.md or Windsurf rules.
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.