django-materialized-views
Model, migrate, refresh, and verify PostgreSQL materialized views in Django for expensive report or dashboard queries that can tolerate stale data. Use when ORM/index/query rewrites are not enough, the result is read often, freshness can be bounded, and a Django app needs unmanaged models, RunSQL migrations, refresh commands, or concurrent refresh.
Works with
--- name: django-materialized-views description: Model, migrate, refresh, and verify PostgreSQL materialized views in Django for expensive report or dashboard queries that can tolerate stale data. Use when ORM/index/query rewrites are not enough, the result is read often, freshness can be bounded, and a Django app needs unmanaged models, RunSQL migrations, refresh commands, or concurrent refresh. license: MIT --- # Django Materialized Views Use this skill when an expensive read query is reused often and can tolerate controlled staleness. Try query-plan, index, and ORM expression improvements first; materialized views add operational state. ## Workflow 1. Confirm fit. - The source query is expensive and stable. - Consumers can accept stale data. - Refresh cadence, ownership, and failure behavior are clear. - PostgreSQL is the target database. 2. Design the materialized view. - Define the SQL query and output columns. - Add a unique column or unique column set if concurrent refresh is required. - Add indexes for consumer queries against the view. 3. Integrate with Django. - Create the view with `RunSQL`. - Represent it as an unmanaged model with `managed = False`. - Keep the unmanaged model fields aligned with the SQL output. - Make writes impossible at the application boundary. 4. Implement refresh. - Use `REFRESH MATERIALIZED VIEW` for simple refreshes. - Use `REFRESH MATERIALIZED VIEW CONCURRENTLY` only when the view is already populated and has a qualifying unique index. - Schedule refresh through a management command, task queue, or database job. See [materialized-view-patterns.md](references/materialized-view-patterns.md) for migration, model, and refresh templates. ## Safety Notes - A materialized view returns stored data; it is not automatically current. - Concurrent refresh avoids locking out reads but has prerequisites and still allows only one refresh at a time per view. - Refreshing a large view can be a major database workload. Measure it separately from reads. ## Verification Validate the SQL against source tables, test the unmanaged model reads, prove refresh behavior, and measure read latency before/after.
More Backend Frameworks skills
git-guardrails-claude-code
mattpocock/skills
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
azure-compute
microsoft/azure-skills
Azure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compare VM pricing, VMSS, scale set, autoscale, burstable, lightweight server, website, backend, GPU, machine learning, HPC simulation, dev/test, workload, family, load balancer, Flexible orchestration, Uniform orchestration, cost estimate, capacity reservation (CRG), reserve, guarantee capacity, pre-provision, CRG association, CRG disassociation, machine enrollment (EMM), Essential Machine Management, monitor. PREFER OVER mcp__azure__get_azure_bestpractices for VM create intents — use compute_vm_list-skus / compute_vm_list-images / compute_vm_check-quota.
azure-cloud-migrate
microsoft/azure-skills
Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.

