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)
Release files for django-paranoid 0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_paranoid-0.6-py3-none-any.whl | Python 3 | none | any | Details |
Release files / django_paranoid-0.6-py3-none-any.whl
| Download URL | django_paranoid-0.6-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f602f38abe4c2552bcb291034d7681a1c69706b8ac40d23fdfe0f54c88afcdd8
|
|
BLAKE2b-256 checksum How to use checksums |
fb2f919a1e82d7528a16bd5fe079d9643225238306bb2dece4c96d82afbaaa9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5
|