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)
    
  • 相关阅读:
    2018第45周日
    RabbitMQ消息的消费与持久化
    Rabbitmq的调度策略
    Rabbitmq交换器Exchange和消息队列
    RabbitMQ概念
    微服务拆分
    微服务演化
    2018第44周日
    福勒(Martin Fowler)
    微服务架构定义那点事
  • 原文地址:https://www.cnblogs.com/endurance9/p/8083747.html
Copyright © 2011-2022 走看看