Skip to content

README: Improved description of how Permanent.restore_on_create works.#67

Open
helgihg wants to merge 1 commit intoMnogoByte:masterfrom
helgihg:master
Open

README: Improved description of how Permanent.restore_on_create works.#67
helgihg wants to merge 1 commit intoMnogoByte:masterfrom
helgihg:master

Conversation

@helgihg
Copy link

@helgihg helgihg commented May 21, 2017

I had to view the code to figure out how get Permanent.restore_on_create working. Then I also had to update my code, which was using my_model.save() instead of MyModel.objects.create() - which is fine, but it should be mentioned clearly in the documentation. This pull request addresses that issue by updating the README file.

meteozond added a commit to meteozond/django-permanent that referenced this pull request Feb 7, 2026
Major version upgrade with breaking changes and modern Django support:

Breaking Changes:
- Minimum Django version: 4.2 LTS (supports Django 4.2-5.2, experimental Django 6.0, tested with Django 7.0 dev)
- Minimum Python version: 3.10 (supports 3.10, 3.11, 3.12)
- Dropped Django 1.x, 2.x, 3.x support
- Dropped Python 2.7, 3.4-3.9 support
- Removed django-model-utils dependency

Async Support (New):
- Refactored from thread-local variables to contextvars for async-safe operation
- All deletion and query context handling now supports asyncio
- Context managers (deletion_context, show_all_context) are fully async-safe
- Works correctly with Django's async QuerySet API (acount, afirst, aget, etc.)
- Future-proof for Django 6.0 and 7.0 async expansion

New Features:
- Added Django System Check (W001) to detect problematic PermanentModel configurations
- Warns when PermanentModel has CASCADE ForeignKey to non-PermanentModel
- Comprehensive documentation (README.md, CLAUDE.md)

Bug Fixes from MnogoByte Fork:
- Fixed MnogoByte#53: restore() respects user filters on removed field
- Fixed MnogoByte#75: Access deleted related objects via show_all_context()
- Fixed MnogoByte#78: Removed django.utils.six dependency
- Improved documentation (MnogoByte#69, MnogoByte#66, MnogoByte#67)

Infrastructure:
- Migrated CI/CD from Travis CI to GitHub Actions
- All 44 tests passing with Django 4.2-7.0 dev - 100% pass rate, NO SKIPS
- Converted documentation from RST to Markdown
- Added explicit LICENSE file (BSD)

CI/CD Enhancements:
- Added automated PyPI publishing workflow (GitHub Actions)
- Automatically publishes to PyPI when version tag is pushed
- Creates GitHub releases with release notes
- Auto-updates CHANGES.md with next version template after release
- Improved test infrastructure with extras_require for test/dev dependencies
- Added TEST_VERBOSITY environment variable support
- Enhanced coverage reporting and Coveralls integration

Technical Improvements:
- Modernized codebase for Django 4.2+
- Removed Python 2/six dependencies
- Removed 15+ version compatibility checks
- Simplified QuerySet and Manager implementations
- Updated for Django 5.2+ API changes (Collector.delete, ForeignObject.get_extra_restriction, Signal)
- Enhanced async deletion and lazy reference handling
meteozond added a commit to meteozond/django-permanent that referenced this pull request Feb 7, 2026
Major version upgrade with breaking changes and modern Django support:

Breaking Changes:
- Minimum Django version: 4.2 LTS (supports Django 4.2-5.2, experimental Django 6.0, tested with Django 7.0 dev)
- Minimum Python version: 3.10 (supports 3.10, 3.11, 3.12)
- Dropped Django 1.x, 2.x, 3.x support
- Dropped Python 2.7, 3.4-3.9 support
- Removed django-model-utils dependency

Async Support (New):
- Refactored from thread-local variables to contextvars for async-safe operation
- All deletion and query context handling now supports asyncio
- Context managers (deletion_context, show_all_context) are fully async-safe
- Works correctly with Django's async QuerySet API (acount, afirst, aget, etc.)
- Future-proof for Django 6.0 and 7.0 async expansion

New Features:
- Added Django System Check (W001) to detect problematic PermanentModel configurations
- Warns when PermanentModel has CASCADE ForeignKey to non-PermanentModel
- Comprehensive documentation (README.md, CLAUDE.md)

Bug Fixes from MnogoByte Fork:
- Fixed MnogoByte#53: restore() respects user filters on removed field
- Fixed MnogoByte#75: Access deleted related objects via show_all_context()
- Fixed MnogoByte#78: Removed django.utils.six dependency
- Improved documentation (MnogoByte#69, MnogoByte#66, MnogoByte#67)

Infrastructure:
- Migrated CI/CD from Travis CI to GitHub Actions
- All 44 tests passing with Django 4.2-7.0 dev - 100% pass rate, NO SKIPS
- Converted documentation from RST to Markdown
- Added explicit LICENSE file (BSD)

CI/CD Enhancements:
- Added automated PyPI publishing workflow (GitHub Actions)
- Automatically publishes to PyPI when version tag is pushed
- Creates GitHub releases with release notes
- Auto-updates CHANGES.md with next version template after release
- Improved test infrastructure with extras_require for test/dev dependencies
- Added TEST_VERBOSITY environment variable support
- Enhanced coverage reporting and Coveralls integration

Technical Improvements:
- Modernized codebase for Django 4.2+
- Removed Python 2/six dependencies
- Removed 15+ version compatibility checks
- Simplified QuerySet and Manager implementations
- Updated for Django 5.2+ API changes (Collector.delete, ForeignObject.get_extra_restriction, Signal)
- Enhanced async deletion and lazy reference handling
meteozond added a commit to meteozond/django-permanent that referenced this pull request Feb 7, 2026
Major version upgrade with breaking changes and modern Django support:

Breaking Changes:
- Minimum Django version: 4.2 LTS (supports Django 4.2-5.2, experimental Django 6.0, tested with Django 7.0 dev)
- Minimum Python version: 3.10 (supports 3.10, 3.11, 3.12)
- Dropped Django 1.x, 2.x, 3.x support
- Dropped Python 2.7, 3.4-3.9 support
- Removed django-model-utils dependency

Async Support (New):
- Refactored from thread-local variables to contextvars for async-safe operation
- All deletion and query context handling now supports asyncio
- Context managers (deletion_context, show_all_context) are fully async-safe
- Works correctly with Django's async QuerySet API (acount, afirst, aget, etc.)
- Future-proof for Django 6.0 and 7.0 async expansion

New Features:
- Added Django System Check (W001) to detect problematic PermanentModel configurations
- Warns when PermanentModel has CASCADE ForeignKey to non-PermanentModel
- Comprehensive documentation (README.md)

Bug Fixes from MnogoByte Fork:
- Fixed MnogoByte#53: restore() respects user filters on removed field
- Fixed MnogoByte#75: Access deleted related objects via show_all_context()
- Fixed MnogoByte#78: Removed django.utils.six dependency
- Improved documentation (MnogoByte#69, MnogoByte#66, MnogoByte#67)

Infrastructure:
- Migrated CI/CD from Travis CI to GitHub Actions
- All 44 tests passing with Django 4.2-7.0 dev - 100% pass rate, NO SKIPS
- Converted documentation from RST to Markdown
- Added explicit LICENSE file (BSD)

CI/CD Enhancements:
- Added automated PyPI publishing workflow (GitHub Actions)
- Automatically publishes to PyPI when version tag is pushed
- Creates GitHub releases with release notes
- Auto-updates CHANGES.md with next version template after release
- Improved test infrastructure with extras_require for test/dev dependencies
- Added TEST_VERBOSITY environment variable support
- Enhanced coverage reporting and Coveralls integration

Technical Improvements:
- Modernized codebase for Django 4.2+
- Removed Python 2/six dependencies
- Removed 15+ version compatibility checks
- Simplified QuerySet and Manager implementations
- Updated for Django 5.2+ API changes (Collector.delete, ForeignObject.get_extra_restriction, Signal)
- Enhanced async deletion and lazy reference handling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant