Django:防止删除模型上的查询集?
我有一个模型,我已经覆盖了它的delete()方法。因为这不是对批量QuerySet删除调用的,所以我想禁用QuerySet删除或以某种方式断言它不会发生。有什么方法可以做到这一点吗?您可以创建一个自定义的Django:防止删除模型上的查询集?,django,model,django-queryset,Django,Model,Django Queryset,我有一个模型,我已经覆盖了它的delete()方法。因为这不是对批量QuerySet删除调用的,所以我想禁用QuerySet删除或以某种方式断言它不会发生。有什么方法可以做到这一点吗?您可以创建一个自定义的QuerySet类,并在管理器中使用它,例如: from django.db import models class NoDeleteQuerySet(models.query.QuerySet): def delete(self): raise NotImpleme
QuerySet
类,并在管理器中使用它,例如:
from django.db import models
class NoDeleteQuerySet(models.query.QuerySet):
def delete(self):
raise NotImplementedError("can't delete this queryset")
class NoDeleteQuerySetManager(models.Manager):
def get_query_set(self):
return NoDeleteQuerySet(self.model)
class MyModel(model.Model):
objects = NoDeleteQuerySetManager()