首页 > 解决方案 > Makemigrations Django TypeError 缺少 1 个必需的位置参数:'on_delete'

问题描述

当我在 django 中运行 makemigrations 时出现错误:

TypeError:init()缺少1个必需的位置参数:'on_delete'

TypeError: __init__() 缺少 1 个必需的位置参数

这是我的代码:

from django.db import models


class List(models.Model):
name = models.CharField(max_length=50)

def __str__(self):
    return "List:{}".format(self.name)


class Card(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField(blank=True)
    list = models.ForeignKey(List, related_name="cards")
    story_points = models.IntegerField(null=True, blank=True)
    business_value = models.IntegerField(null=True, blank=True)

    def __str__(self):
        return "Card:{}".format(self.title)

标签: djangopython-3.xdjango-modelsdatabase-migration

解决方案


ForeignKey字段on_delete中是必需的参数。所以你必须list用它来定义

list = models.ForeignKey(List, related_name="cards", on_delete=models.CASCADE)

多对一的关系。需要两个位置参数:模型相关的类和 on_delete 选项。


推荐阅读