首页 > 解决方案 > TypeError: __init__() 得到了一个意外的关键字参数“主题”

问题描述

当我向查询集添加值时,我得到了这个错误。

模型.py

from django.db import models

class Topic(models.Model):
    def __init__(self):

        topic=models.CharField(max_length=264,unique=True)

    def __str__(self):
        return self.topic

class Webpage(models.Model):
    def __init__(self):

        topic=models.ForeignKey(Topic)
        name=models.CharField(max_length=264,unique=True)
        url=models.URLField(unique=True)

    def __str__(self):
    return self.name

class AccessRecord(models.Model):
    def __init__(self):

        name=models.ForeignKey(Webpage)
        date=models.DateField()

    def __str__(self):
        return str(self.date)



#t=Topic(topic="shoaib")
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: __init__() got an unexpected keyword argument 'topic'

标签: pythondjango

解决方案


您不应该重新定义 Django 模型init。尝试这样的事情:

class Topic(models.Model):
    topic=models.CharField(max_length=264,unique=True)

def __str__(self):
    return self.topic

推荐阅读