这个库添加了“created_at”、“updated_at”和“delete_at”字段,比如django中的rail apps,还添加了软删除方法
django-paranoid的Python项目详细描述
此库将添加“created\u at”、“updated\u at”和“delete\u at”字段,如 django中的一个rail应用程序,还添加了软删除方法。
安装
pip install django-paranoid
如何开始
1.-在django应用程序中添加django偏执狂:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', ... 'django_paranoid' ... ]
2.-扩展模型中的偏执模型以使用:
from django_paranoid.models import ParanoidModel class MyModel(ParanoidModel): field = models.CharField(max_length=20)
3.-添加到django管理员:
from django_paranoid.admin import ParanoidAdmin class MyModelAdmin(ParanoidAdmin): pass ... admin.site.register(MyModel, MyModelAdmin)
软删除
m = MyModel.objects.last() m.delete()
这只应用软删除,因此记录将保留在 数据库,但在正常查询中不可见:
m = MyModel.objects.last() m
现在该记录有一个“已删除”字段,如果要显示“删除” 录制您可以使用“已删除的对象”:
m = MyModel.objects_with_deleted.last() m <MyModel: name> m.deleted_at datetime.datetime(2019, 8, 10, 6, 16, 44, 633727, tzinfo=<UTC>)
硬删除
如果要从数据库中删除记录,则只应使用真参数:
m = MyModel.objects.last() m.delete(True)