python - 如何设置Django的默认值 'on_delete=models.SET_DEFAULT'

标签 python django django-models foreign-keys

在下面的示例中,您如何以及在哪里设置默认值?

author = models.ForeignKey('作者', on_delete=models.SET_DEFAULT)

最佳答案

对于 SET_DEFAULT 上类, default 应在 ForeignKey 中使用声明:

author = models.ForeignKey('Author', on_delete=models.SET_DEFAULT, default=None, null=True)

在这种情况下,无论设置为 default当相关对象被删除时将被使用。

编辑: 正如 @MojixCoder 和 @Ersain 所指出的,在本例中您需要设置 null=True否则删除ForeignKey的实例将导致 IntegrityError待提高。

关于python - 如何设置Django的默认值 'on_delete=models.SET_DEFAULT',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68341967/

相关文章:

python - 我不断收到以下错误 django.db.utils.ProgrammingError : column "name" of relation "blog_post" already exists in my django app

python - 使用 2 个 M2M 字段的相关名称过滤 Django 模型

python - 用作库的织物不起作用

python - 如何在 SciPy 中沿着 3D 样条曲线查找点?

python - Mercurial 的困惑情况

Django - 减少 URL 查询字符串的长度

python - Django 1.4:如何忽略loaddata中的字段和模型

python - 如何将命令的输出复制到文件?

python - python 3.9+的nb_conda_kernels等价物是什么?

django - 如何更新 DRF 中的 'Allow' header 以匹配 OPTIONS 请求的权限?