class CustomQuerySet(QuerySet):

    def delete(self):
        self.update(active=False)


class ActiveManager(models.Manager):

    def active(self):
        return self.model.objects.filter(active=True)

def get_queryset(self):
    return CustomQuerySet(self.model, using=self._db)


class Employee(models.Model):
    name = models.CharField(name, unique=True)
active = models.BooleanField(default=True, editable=False)
objects = ActiveManager()

def delete(self):
    self.active = False
self.save()
Prevent delete in Django model