Django 数据模型 ForeignKey 的 on_delete 属性的可选值

By 刘志军, 2019-05-24, 分类: qa

django

订单Order 与 用户 User 是多对一的关系,Order 表中有User外键 user_id,当你删除一条user数据的时候,与之关联的订单Order记录会受影响,具体根据 on_delete 的值来决定。

class Order(BaseModel):
    user= models.ForeignKey(User, on_delete=models.CASCADE)

on_delete 没有默认值,定义的时候必须显示地指定一个值。否则会报错:

TypeError: __init__() missing 1 required positional argument: 'on_delete'

微信截图_20190524195749.png

其实 DO_NOTHING 对应的是数据库中的NO_ACTION操作。


有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2020-01-07
Django入门与实践-第8章:第一个测试用例
2014-01-18
Django+Ubuntu+Nginx+Gunicorn应用部署
2020-01-07
Django入门与实践-第4章:系统设计
2020-01-07
Django入门与实践-第16章:用户登录
2020-01-07
Django入门与实践-第7章:模板引擎设置
2020-01-07
Django入门与实践-第19章:主题回复
2019-07-06
Django admin 删除默认的 delete select action 操作
2020-01-07
Django入门与实践-第24章:我的账户视图
2020-01-07
Django入门与实践-第0章:前言
2014-03-31
Django Signals 从实践到源码分析