为什么我们将函数作为参数传入而不在 Django 中执行?

John Zheng

在创建包含标题、内容和作者的帖子模型时,我author = models.ForeignKey(User, on_delete=models.CASCADE)为作者写作,因为一个作者可以拥有多个帖子。我的问题是为什么传递给on_delete参数的函数没有执行。换句话说,为什么on_delete=models.CASCADE()不是(注意括号)?

威廉·范·翁塞姆

因为那样的话,你会立即在翻译时看到评价功能models.CASCADE

这个想法是我们将一个函数传递on_delete参数,而不是调用该函数的结果,这样以后,当User被删除时,Django 框架将调用该函数来收集引用该用户的对象,并将这些对象删除为好。

因此,这意味着我们不会在您运行服务器时调用该函数,或者我们可以多次调用它。此外,触发器函数需要参数

def CASCADE(collector, field, sub_objs, using):
    collector.collect(sub_objs, source=field.remote_field.model,
                      source_attr=field.name, nullable=field.null)
    if field.null and not connections[using].features.can_defer_constraint_checks:
        collector.add_field_update(field, None, sub_objs)

collector这里收集应删除(并递归一直这样做)额外的对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我们在现有数据库条目的 Django 表单中首先使用实例作为第二个参数

为什么我们不能使用。作为带有%>%的匿名函数中的参数

在jquery事件中,为什么我们将function()作为参数传递?

为什么我们在函数中传递匿名参数?

在Django中从视图执行函数

为什么我们必须在onClick方法中添加“视图”作为参数及其作用?

为什么我们在Django的DIRS中添加模板路径?

为什么我们需要 Django 中的虚拟环境?

为什么我们应该在Django中为MongoDB创建Model字段?

为什么我们在 Django 中每个 APP 都使用 css 文件?

为什么我们在Django中的表单上使用cleaned_data

如何在 Django restframework 中运行我们的函数

在创建线程时,我们在构造函数中传递的参数包含(this)为什么使用它?

为什么要截断我们必须传递“ w”作为在Ruby中打开的额外参数,为什么

为什么执行 form.is_valid() 会导致删除不在 django 表单中的实例字段?

为什么我们需要C ++中的虚函数?

我们如何在单个 HTML 表单中执行不同的操作以在 django 中动态更改 url?

为什么我们需要对象发送者作为 c# 中的参数事件处理程序?

为什么我们需要在优先级队列声明中添加一个向量作为参数?

当我们可以在函数主体中定义变量时,为什么在函数中使用参数?

为什么我的 js 函数在脚本标签内工作,为什么不在外部 javascript 文件 django 表单中工作

为什么我们需要在 C++20 中的函数概念参数之后使用 auto?

如何在 Django 中执行参数化的原始查询?

为什么我们不在JavaScript中使用数据类型作为函数参数?

Celery Beat调度程序无法在Django中执行我的任务

我们为什么不在react-native中gitignore ios /和android /

为什么我们不在 stl 的迭代器中传递星号(*)

将formset作为参数传递给Django中的函数

当我在Visual Studio中执行django-admin.py时不执行任何操作