Repository navigation
Releases: svalench/django-modelsheet
Release list
django-modelsheet 0.3.0
First stable release of django-modelsheet, bringing spreadsheet editing, Decimal formulas and previewed bulk operations to Django Admin.
What's new
- Enable sheets by registering
ModelSheetAdmin; a settings model list is no longer required.MODELSHEET["models"]remains available as an optional restriction. - Discover role models from enabled Admin registrations, including custom Admin sites.
- Parse bulk formulas once per plan and cache query aggregates, preserving formula limits and lazy evaluation.
Fixes and data integrity
- String primary keys such as
__proto__andconstructornow retain edits through undo, redo and save without modifying JavaScript prototypes. - Preview deadlines are fixed when preparation completes. Cancel/resume cannot extend an expired deadline, and empty plans retain their frozen membership.
- Bulk previews reject rows hidden by object permissions before calculating aggregates.
- Idempotent preview retries return the existing plan even when the original view snapshot has expired or been removed.
- Editing and navigation are locked during save/load. Structural changes invalidate previews, and stale asynchronous responses cannot replace the current plan.
Install or upgrade
python -m pip install --upgrade django-modelsheet==0.3.0
python manage.py migrate
python manage.py collectstatic --noinputBack up the database and pause writes/background workers before upgrading; restart the application/workers and reload browser tabs afterwards. Compiled JavaScript and CSS are included: installation does not require Node.js or a CDN.
Migration 0002_operation_preview_expires_at is required. It preserves history, snapshots and operation items, but conservatively expires legacy unconfirmed previews. Create a new preview before confirmation. Already confirmed operations retain their resume behavior.
Compatibility and validation
- Django 5.2 with Python 3.11–3.14; Django 6.0 and 6.1 with Python 3.12–3.14.
- SQLite, PostgreSQL and MySQL/InnoDB. SQLite writes require
transaction_mode="IMMEDIATE". - 188 Python tests, 75 frontend unit tests, 23 Admin browser scenarios and 3 playground scenarios.
- All 16 Python/Django/database combinations passed for this release commit, along with browser tests, strict documentation, package checks and upgrade from 0.3.0a2. Publishing workflow completed successfully.
Scope
Creating/deleting records stays in standard Admin. FK/M2M editors, server undo, file import/export, persistent formulas and multi-database operation are not included. Large background operations require a project-provided adapter.
Documentation · Upgrade notes and limitations · Full changelog
The wheel and source archive attached to this release match the files published on PyPI. Checksums are provided in SHA256SUMS.
Post-publication verification passed in a fresh Python 3.13 virtualenv installed directly from PyPI with Django 6.1.2: pip check, Django system checks, migrations (including 0002), packaged templates and collectstatic. No system-site packages or repository imports were used.
django-modelsheet 0.3.0a2
Alpha update focused on spreadsheet editing and keyboard navigation.
- Unchanged numeric cells no longer appear as modified.
- Cell editors stay within cell boundaries without inherited form styling.
- The formula bar follows Tabulator arrow/Tab navigation and range selection.
- Editing in the live demo preserves cell identities and reliable keyboard navigation.
- Adds browser regression coverage and the documentation playground in English, Simplified Chinese and Belarusian.
Install or upgrade:
python -m pip install --upgrade django-modelsheet==0.3.0a2Validated locally: 102 backend tests, 66 frontend tests, TypeScript/Vite builds, strict documentation build, distribution metadata, wheel installation, migrations and static collection. Browser regressions cover 11 Admin workflows and 3 playground workflows; the publishing workflow repeats Admin browser checks before uploading to PyPI.
This is an alpha release. See the documentation and limitations before adoption.
django-modelsheet 0.3.0a1
First public alpha of django-modelsheet: a spreadsheet view for Django Admin.
Included
- Range editing, clipboard, Fill Down, local undo/redo, and atomic Save.
- Explicit field/model access, permission-aware queries, and conflict detection.
- Formula engines, computed columns, and immutable bulk previews with audit history.
- Background adapter contract, demo project, documentation, and prebuilt frontend assets.
Install
python -m pip install django-modelsheet==0.3.0a1PyPI installation becomes available after the release publishing workflow succeeds. Attached wheel and source archive can also be installed directly. Node.js is not required to use the package.
Alpha status
This is an early release for evaluation. Creating/deleting records remains in standard Django Admin; FK/M2M editing, persistent formulas, and server undo are deferred. PostgreSQL/MySQL and the full Python/Django compatibility matrix are configured in CI; the successful publishing build validates Python 3.13, Django 6.0 and SQLite.
Validation: 102 backend tests, 57 frontend unit tests, 10 browser scenarios, distribution metadata and wheel installation smoke test.
See README and docs/releasing.md for setup, limitations, and extension interfaces.