这个库添加了“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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在jframe中模糊的背景上创建一个透明的矩形   java和super之间有区别。getX()和简单的x?   使用ant的java删除eclipse项目   java找不到。txt文件?   多线程Java wait()notify()   带按钮的java透明控件   java Android Studio 3无法构建我的项目   性能最佳(最快且节省内存)的Java收集/数据结构,可同时插入和删除项   spring+hibernate集成中的java ClassNotFoundException   java如何在Android上建立异步URL连接?   java当我选择contacts选项卡时,选项卡栏消失了   java根据数据库中的日期获取结果,不考虑时间   java如何访问WebChromeClient中的方法?   java如何在安卓中使用两行列表项?   spring Swagger Java日期格式验证引发异常