← ClaudeAtlas

django-ormlisted

Django ORM patterns for multi-tenant POS projects: efficient queries, bulk operations, transactions, and multi-schema upload paths. Trigger: When writing queryset logic, model saves, or DB-touching service code.
lgzarturo/codeconductor · ★ 0 · AI & Automation · score 76
Install: claude install-skill lgzarturo/codeconductor
## When to Use - Writing or reviewing queryset code in any `apps/*/` - Adding aggregations, filters, or annotations to a queryset - Writing model `save()` overrides or signals - Implementing service-layer DB operations - Optimizing queries that traverse FK relationships ## Performance Fundamentals ### The N+1 Problem The most common Django mistake: iterating over a queryset and accessing FK fields without `select_related`. Each access generates a separate DB query. ``` # Initial query: 1 query products = Product.objects.all() # In the loop: N additional queries (one per product) for p in products: print(p.category.name) # category_id → SELECT * FROM category WHERE id = ? # Total: 1 + N queries ``` ### Solution: select_related and prefetch_related | Method | Use | SQL Query | | ---------------------------------- | -------------------------- | ------------------------ | | `select_related` | FK one-to-one or ManyToOne | Automatic JOIN | | `prefetch_related` | Reverse FK or ManyToMany | 2 separate queries | | `prefetch_related` with `Prefetch` | Custom queryset | Filtered in nested query | ```python # FK traversal — use select_related products = Product.objects.select_related("category", "tax") # Multiple FK products = Product.objects.select_related("category", "tax", "supplier") # Reverse FK (one-to-many) — use prefetch_related categor