Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'

 代码:

from django.db import models

class Test(models.Model):
    name = models.CharField(max_length=20)

class Contact(models.Model):
    name = models.CharField(max_length=200)
    age = models.IntegerField(default=0)
    email = models.EmailField()
    def __unicode__(self):
        return self.name

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

报错:

解决办法:

将第十四行的代码改为:

contact = models.ForeignKey('Contact', on_delete=models.CASCADE,)
即在外键值的后面加上 on_delete=models.CASCADE
原文地址:https://www.cnblogs.com/areyouready/p/8991348.html