lvtd-llc/skills

django-materialized-views

Model, migrate, refresh, and verify PostgreSQL materialized views in Django for expensive report or dashboard queries that can tolerate stale data.

First seen Jun 21, 2026

Installation

$ npx skills add lvtd-llc/skills --skill django-materialized-views

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from lvtd-llc/skills · top by installs.

npx skills add lvtd-llc/skills

Browse all from lvtd-llc/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.0
LicenseMIT
CompatibilityCodex, Claude Code, and other Agent Skills-compatible clients.
Declared agents claude-code codex
More metadata
version
0.1.0
displayName
Django Materialized Views
category
Django
tags
django,database,materialized-views,postgres,performance

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,443 B
  • docs SUMMARY.md 383 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 58 installs

SKILL.md

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.

  1. 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.

  1. 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.

  1. 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.