Я использую SoftDeletableModel
модель из django -model-utils , которая является абстрактной моделью базового класса с полем is_removed
, которое отмечает записи, которые больше не будут использоваться , но хранятся в дБ по любой причине.
Он имеет следующую структуру:
class SoftDeletableModel(models.Model):
is_removed = models.BooleanField(default=False)
class Meta:
abstract = True
objects = SoftDeletableManager()
all_objects = models.Manager()
def delete(self, using=None, soft=True, *args, **kwargs):
"""
Soft delete object (set its ``is_removed`` field to True).
Actually delete object if setting ``soft`` to False.
"""
if soft:
self.is_removed = True
self.save(using=using)
else:
return super().delete(using=using, *args, **kwargs)
В случае, если я действительно хочу удалить объект, а не установить is_removed=True
, мне нужно добавить soft=False
в процессе удаления.
Как мне go сделать это в представлении / шаблоне?