美文网首页
Django2.0报错之外键错误

Django2.0报错之外键错误

作者: 虫yu | 来源:发表于2018-07-16 10:37 被阅读20次

    执行:

    python3 manage.py migrate
    

    或者

    python3 manage.py runserver
    

    报错:

    class Tag(models.Model):
    File "/Users/ypn-mac-02/AllMe/test/HelloWorld/TestModel/models.py", line 15, in Tag
    contact = models.ForeignKey(Contact)
    TypeError: init() missing 1 required positional argument: 'on_delete'

    原因:

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

    解决办法:
    修改models.py文件中的外键设置,添加on_delete=models.CASCADE

    class Tag(models.Model):
        #contact = models.ForeignKey(Contact)
        contact = models.ForeignKey('Contact', on_delete=models.CASCADE)
        name    = models.CharField(max_length=50)
        def __unicode__(self):
            return self.name
    

    参考资料:

    https://www.cnblogs.com/phyger/p/8035253.html

    相关文章

      网友评论

          本文标题:Django2.0报错之外键错误

          本文链接:https://www.haomeiwen.com/subject/nyvvpftx.html