from django.db import models
from django.contrib.auth.models import AbstractUser
from django.db.models import QuerySet
class MySoftDeletableQuerySet(QuerySet):
def delete(self):
self.update(is_delete=True)
class BaseManager(models.Manager):
_queryset_class = MySoftDeletableQuerySet
def get_queryset(self):
return super().get_queryset().filter(is_delete=False)
class BaseModel(models.Model):
create_time = models.DateField(auto_now_add=True, verbose_name='创建时间')
update_time = models.DateField(auto_now=True, verbose_name='修改时间')
is_delete = models.BooleanField(default=False, verbose_name='是否删除')
def delete(self, using=None, keep_parents=False):
self.is_delete = True
self.save()
objects = BaseManager()
class Meta:
abstract = True # 抽象基类
Django实现软删除
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。