我一直在使用-Wd
Python的说法,发现吨的变化我需要为了准备我升级到2.0的Django
python -Wd manage.py runserver
Run Code Online (Sandbox Code Playgroud)
主要on_delete
是由于成为必需的参数。
RemovedInDjango20Warning: on_delete 将是 Django 2.0 中 ForeignKey 的必需参数。
models.CASCADE
如果您想保持当前的默认行为,请将其设置为on models 和 in existing migrations。请参阅https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.ForeignKey.on_delete
是否有一个简单的正则表达式(或方法)可以用来放入on_delete
我的所有外键?
您可以使用
(ForeignKey|OneToOneField)\(((?:(?!on_delete|ForeignKey|OneToOneField)[^\)])*)\)
Run Code Online (Sandbox Code Playgroud)
这将搜索当前尚未定义删除后会发生什么的所有外键,并且还会忽略您覆盖外键的任何位置。
然后它将捕获括号内的任何内容,这允许您用捕获组和 on_delete 替换内部文本
$1($2, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)
不建议将所有内容替换为上述内容,您仍应逐步执行以确保不会产生任何问题(例如任何 pep8 行长度警告)