解決TypeError: __init__() missing 1 required positional argument: 'on_delete'
試用Djiango的時候發(fā)現(xiàn)執(zhí)行mange.py makemigrations 和 migrate是會報錯嘶居,少位置參數(shù)on_delete,查了一下是因為指定外鍵的方式不對萍嬉,改一下就OK了奋早。
代碼如下:
fromdjango.dbimportmodels# Create your models here.classBookInfo(models.Model):"""model of book infomation"""# 書的標(biāo)題 字符串類型 最大長度20btitle = models.CharField(max_length=20)# 出版日期 日期類型bpub_date = models.DateTimeField()classHeroInfo(models.Model):"""model of hero information"""# 英雄的名字 字符串類型 最大長度30hname = models.CharField(max_length=30)# 性別 布爾類型hgender = models.BooleanField()# 內(nèi)容 字符串類型 最大長度1000hcontent = models.CharField(max_length=1000)# 英雄出現(xiàn)的書 一對多設(shè)計 多方持有一方的外鍵hbook = models.ForeignKey(BookInfo)
解決方法:
# 英雄出現(xiàn)的書 一對多設(shè)計 多方持有一方的外鍵# hbook = models.ForeignKey(BookInfo)hbook= models.ForeignKey('BookInfo', on_delete=models.CASCADE)