執(zhí)行:
python3 manage.py migrate
或者
python3 manage.py runserver
報(bào)錯(cuò):
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后,定義外鍵和一對(duì)一關(guān)系的時(shí)候需要加on_delete選項(xiàng),此參數(shù)為了避免兩個(gè)表里的數(shù)據(jù)不一致問(wèn)題。
解決辦法:
修改models.py文件中的外鍵設(shè)置,添加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
參考資料: