知识点记要
创建 Django ORM 模型的时候,
总会需要用到外键映射
这时候当我们需要处理删除外键对象的时候的处理方式,
Django 有以下方式:
from django.db import models
| 处理指定方式 | 处理方式描述 |
|---|---|
| on_delete=None | 删除关联表中的数据时 当前表与其关联的Field的行为 |
| on_delete=models.CASCADE | 删除关联数据, 与之关联也删除 |
| on_delete=models.DO_NOTHING | 删除关联数据, 什么也不做 |
| on_delete=models.PROTECT | 删除关联数据, 引发错误ProtectedError |
| on_delete=models.SET_NULL | 删除关联数据, 与之关联的值设置为null 前提是该字段可设置为空) |
| on_delete=models.SET_DEFAULT | 删除关联数据, 与之关联的值设置为默认值 前提该字段需要拥有默认值 |
| on_delete=models.SET | 删除关联数据: a. 设置为指定值:models.SET(值) b. 设置为可执行对象的返回值:models.SET(对象) |
生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya