TypeError:__init __()获得了意外的关键字参数'topic'

时间:2018-12-15 19:14:42

标签: python django

我在向查询集添加值时遇到了这个错误。

models.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'

1 个答案:

答案 0 :(得分:5)

您不应重新定义Django模型 init 。 尝试类似的事情:

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

def __str__(self):
    return self.topic