===== Django Recyclebin
Django Recyclebin is a Django app to create recyclebin functionality in your project. you will be able to temporarily delete, restore and permanently delete data.
Pypi link: https://pypi.org/project/django-recyclebin/0.2/
Quick start
Install package using pip install django-recyclebin==0.2
-
Add "recyclebin" to your INSTALLED_APPS setting like this::
INSTALLED_APPS = [ ... 'recyclebin', ]
-
import SoftDeleteMixin ''from recyclebin.models import SoftDeleteMixin''
-
Inherit your model with SoftDeleteMixin
``class Mymodel(SoftDeleteMixin)``
-
Run
python manage.py makemigrations
andpython manage.py migrate
. -
import recyclebin functions
from recyclebin.functions import get_deleted_items, restore, permanent_delete
-
How to temporarily delete. you don't need to do anything. after inheriting your model with SoftDeleteMixin. your regular .delete() method will temporarily delete objects
-
How to view deleted items create a list of models from myapp.models import Model1, Model2, Model3... li = [Model1, Model2, Model3...]
get_deleted_items(li)
''This function will return serialized response that will contain model_name, name, pk, deleted_by, deleted_at''
YOUR MODEL MUST HAVE NAME FIELD OTHERWISE NONE WILL BE RETURNED INSTEAD OF NAME
-
How to restore pass restore function model name and id. model name must be string and id an integer
restore(model1, 1)
-
How to permanently delete pass permanent_delete function model name and id. model name must be string and id an integer
permanent_delete(model1, 1)