zoukankan      html  css  js  c++  java
  • 【python3】 django2.0 在生成数据库表时报错: TypeError: __init__() missing 1 required positional argument: 'on_delete'

    python: 3.6.4

    django: 2.0

    models.py 代码如下

    # coding: utf-8
    from django.db import models
    from django.contrib.auth.models import User
    # Create your models here.
    
    class Category(models.Model):
        name = models.CharField(max_length=100)
    class Tag(models.Model):
        name = models.CharField(max_length=100)
    class Post(models.Model):
        title = models.CharField(max_length=70)
        body = models.TextField()
        created_time = models.DateTimeField()
        modified_time = models.DateTimeField()
        excerpt = models.CharField(max_length=200, blank=True)
        category = models.ForeignKey(Category,on_delete=models.CASCADE)
        tags = models.ManyToManyField(Tag, blank=True)
        author = models.ForeignKey(User,on_delete=models.CASCADE)

    错误信息: 

     解决办法: 

          外键值的后面加上 on_delete=models.CASCADE

    category = models.ForeignKey(Category)
    author = models.ForeignKey(User)

    改为

    category = models.ForeignKey(Category,on_delete=models.CASCADE)
    author = models.ForeignKey(User,on_delete=models.CASCADE)

     再次执行 ,成功



  • 相关阅读:
    AD 485、422电路
    AD 差分
    思维导图
    68 二叉树的最近公共祖先
    65. 不用加减乘除做加法
    64. 求1+2+…+n
    10- I. 斐波那契数列
    11&12. 旋转数组的最小数字
    12. 矩阵中的路径
    13. 机器人的运动范围
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/8471744.html
Copyright © 2011-2022 走看看