zoukankan      html  css  js  c++  java
  • 解决TypeError: __init__() missing 1 required positional argument: 'on_delete'

    试用Djiango的时候发现执行mange.py makemigrations 和 migrate是会报错,少位置参数on_delete,查了一下是因为指定外键的方式不对,改一下就OK了。
    代码如下:

    from django.db import models
    
    
    # Create your models here.
    
    
    class BookInfo(models.Model):
        """model of book infomation"""
    
        # 书的标题 字符串类型  最大长度20
        btitle = models.CharField(max_length=20)
    
        # 出版日期 日期类型
        bpub_date = models.DateTimeField()
    
    
    class HeroInfo(models.Model):
        """model of hero information"""
    
        # 英雄的名字  字符串类型 最大长度30
        hname = models.CharField(max_length=30)
    
        # 性别 布尔类型
        hgender = models.BooleanField()
    
        # 内容 字符串类型 最大长度1000
        hcontent = models.CharField(max_length=1000)
    
        # 英雄出现的书 一对多设计 多方持有一方的外键
         hbook = models.ForeignKey(BookInfo)
    
    

    解决方法:

       # 英雄出现的书 一对多设计 多方持有一方的外键
        # hbook = models.ForeignKey(BookInfo)
        hbook = models.ForeignKey('BookInfo', on_delete=models.CASCADE)
    
  • 相关阅读:
    C#中String和string的区别
    .NET设计模式系列文章
    [python] 视频008
    [python]获取字符串类型
    【影评-转自豆瓣】疯狂原始人
    [python]文本处理1.2
    周末可以做的10件事
    [python]随机数
    [python] 字符串引用
    用户控件(.ascx)与<ul><li>以及<a>布局之小结
  • 原文地址:https://www.cnblogs.com/endurance9/p/8083747.html
Copyright © 2011-2022 走看看