this library adds 'created_at', 'updated_at' and 'delete_at' fields like a rail apps in django, also added soft delete method
Project description
this library adds ‘created_at’, ‘updated_at’ and ‘delete_at’ fields like a rail apps in django, also added soft delete method.
install
pip install django-paranoid
How to start
1.- Add to django-paranoid in the django apps:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', ... 'django-paranoid' ... ]
2.- Extends ParanoidModel in the model to use:
from django_paranoid.models import ParanoidModel class MyModel(ParanoidModel): field = models.CharField(max_length=20)
3.- Add to django-admin:
from django_paranoid.admin import ParanoidAdmin class MyModelAdmin(ParanoidAdmin): pass ... admin.site.register(MyModel, MyModelAdmin)
Soft Delete
m = MyModel.objects.last() m.delete()
This only applies soft delete, so the record will remain in the database, but it will not be visible for normal queries:
m = MyModel.objects.last() m
Now the record has a deleted_at field and if do you want show the delete record you could using ‘objects_with_deleted’:
m = MyMode.objects_with_deleted.last() m <MyModel: name> m.deleted_at datetime.datetime(2019, 8, 10, 6, 16, 44, 633727, tzinfo=<UTC>)
Hard Delete
If do you want to delete record from DB, you only should using True param:
m = Mymodel.objects.last() m.delete(True)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for django_paranoid-0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2eb5074029c012040fe8e9d8f0f1a4645ddb3d20eace8ec88accb40b5507941 |
|
MD5 | 8730a651e0e809ff547e4b7b8b072954 |
|
BLAKE2b-256 | f2cf871095ef9cc7e033b44b92a2f1943f7dcdc1551fac878337bed97d71c916 |