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

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

 1 from django.db import models
 2 
 3 # Create your models here.
 4 
 5 class BookInfo(models.Model):
 6     btitle=models.CharField(max_length=20)
 7     bpub_date=models.DateTimeField()
 8     def __str__(self):
 9         return self.btitle
10 
11 class HeroInfo(models.Model):
12     hname=models.CharField(max_length=10)
13     hgender=models.BooleanField()
14     hcontent=models.CharField(max_length=1000)
15     hbook=models.ForeignKey(BookInfo)

 

解决办法:

将第15行的代码改为:

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

posted on 2020-01-16 00:12  cherry_ning  阅读(193)  评论(0)    收藏  举报

导航