Registry / database / django-softdelete

django-softdelete

JSON →
library0.11.5pypypiunverified

Soft delete support for Django ORM, adding a 'deleted' field and custom manager to objects instead of hard-deleting them. Current version: 0.11.5. Release cadence is intermittent, with no recent updates.

pip install django-softdelete
INSTALL
IMPORT
SIG · DJANGO-SOFTDELETE
D
django-softdelete
databasepythonv0.11.5
Install
1.6s avg
Import
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.11.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18.1MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.6s · import 0.000s · 19MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

SoftDeleteManager
from softdelete.models import SoftDeleteManager
from softdelete.models import SoftDeleteManager

Basic usage: define model, soft delete, restore, hard delete.

from django.db import models from softdelete.models import SoftDeleteObject, SoftDeleteManager class MyModel(SoftDeleteObject): name = models.CharField(max_length=100) objects = SoftDeleteManager() # Soft delete obj = MyModel.objects.create(name='test') obj.delete() # Sets deleted_at timestamp, does not remove from DB # Restore obj.undelete() # Hard delete (bypass soft delete) obj.hard_delete()
Debug
Known issues
gotchaBy default, all model instances with a non-null deleted_at are excluded from queries using the default manager. Use objects_all (or the all_objects manager) to include soft-deleted instances.
fix
Use MyModel.all_objects.filter() or MyModel.objects_all to query all records.
affects: <=0.11.5
deprecatedThe library uses a 'deleted_at' field. Ensure your database supports nullable datetime fields.
fix
No fix needed; just be aware of the field type.
affects: 0.11.5
breakingThe library does not support Django's built-in soft delete from Django 4.x or later. It is a separate implementation.
fix
Do not mix with Django's official soft delete features.
affects: 0.11.5
Upgrade
Version history
0.11.5latest on PyPI · released Apr 10, 2025
Audit
Dependencies
DjangorequiredRequired: softdelete depends on Django ORM.
Agent activity
2 hits · last 30 days
node
2
Resources
django-softdelete — pip install django-softdelete · libregistry