Django 的 delete() 函数中的 False 有什么用?

What is the use of False in delete() function in django?

我正在对大约 4 年前的 django 项目进行代码重构,遇到了一种让我感到困惑的语法。

他们向 django ORM 传递了一个布尔参数 False,例如 object.delete(False)

我检查了 Django ORM 中 delete() 函数的文档。但是找不到 False 参数。

并且在 Django 模型中没有覆盖 delete() 方法的方法。

这个 False 参数有什么用?

Django version: 1.11.29

是否偶然传入了第二个参数?或者作为 kwargs keep_parents=False?

如果是可以参考https://docs.djangoproject.com/en/3.1/ref/models/instances/#django.db.models.Model.delete

编辑:注意到您添加了非常有用的 Django 版本。 我不认为从那时起与 delete 相关的任何变化(可能除了 on_delete 外键定义是必需的)

第一个参数正在使用,将其设置为 False 或默认设置为 None

之间没有区别

来自source

def delete(self, using=None, keep_parents=False):
    using = using or router.db_for_write(self.__class__, instance=self)
    assert self._get_pk_val() is not None, (
        "%s object can't be deleted because its %s attribute is set to None." %
        (self._meta.object_name, self._meta.pk.attname)
    )

    collector = Collector(using=using)
    collector.collect([self], keep_parents=keep_parents)
    return collector.delete()