django在使用python manage.py makemigrations时报错:
原因是在django2.0后,定义外键和一对一关系的时候需要加on_delete选项。
需要将
author = models.ForeignKey(User,related_name="blog_posts")
修改为
author = models.ForeignKey(User,related_name="blog_posts",on_delete=models.CASCADE)
on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五个可选择的值
CASCADE:此值设置,是级联删除。
PROTECT:此值设置,是会报完整性错误。
SET_NULL:此值设置,会把外键设置为null,前提是允许为null。
SET_DEFAULT:此值设置,会把设置为外键的默认值。
SET():此值设置,会调用外面的值,可以是一个函数。