这个库添加了“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第三方库


热门话题
serversocket Java服务器socket中断如何   java通过随机类和排序为数组生成数据   @Column length大于255个字符的java实体   java在使用NIO2 API时消除检查异常   java使用用户凭据通过Microsoft Graph API上的控制台应用程序发送电子邮件   java将2个ArrayList一个接一个地显示到jTextArea中,根据输入的数据多次显示   java无法使用导入的库。安卓工作室。谷歌云端点jar   spring boot Neo4j Apoc在java中获取结果摘要时的情况   转义特殊字符javajson   无法在java中使用OpenCV读取图像,涉及unicode路径   swing Document Listener java“无法实例化DocumentListener类型”   java Piglatin,难以理解如何移动“.”一串   java映射请求基于一个可观察对象中的每个元素,使用改进?   java在可扩展字符串中搜索时,如何忽略字符的大小写?   在包中分组类的java约定   python为Java应用程序创建Ubuntu指示小程序   java Camunda:如何通过processInstanceId获取所有已完成的任务