Django 在创建ForeignKey中出现错误

  • Post author:
  • Post category:其他





今天在使用Django创建模型类的时候,出现了如下问题



一、




  • 在模型类里面创建外键,并生成迁移文件后,报了下面的错:

  hbook = models.ForeignKey('BookInfo')  #关系属性,建立一类和多类之间的关系
TypeError: __init__() missing 1 required positional argument: 'on_delete'


  • 原因:

在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:

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


  • 解决方法:

hbook=models.ForeignKey('BookInfo',on_delete=models.CASCADE,)
即在外键值的后面加上 on_delete=models.CASCADE



二、



  • 在解决了上述问题后,重新执行迁移文件,还是报错:




版权声明:本文为qq_23557563原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。