在django中,__ init__函数在Model上,导致属性错误,无法保存到数据库

jca*_*age 5 django

我正在使用django和模型定义,如

class Question(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    order = models.IntegerField()

    def __init__(self, *args, **kwargs):
        self.title = kwargs.get('title','Default Title')
        self.description = kwargs.get('description', 'DefDescription')
        self.order = kwargs.get('order', 0)
Run Code Online (Sandbox Code Playgroud)

试图在问题类的对象上调用save()会导致shell响应

/django/db/utils.py", line 133, in _route_db
    return hints['instance']._state.db or DEFAULT_DB_ALIAS
AttributeError: 'Question' object has no attribute '_state'
Run Code Online (Sandbox Code Playgroud)

但是,删除_____init_____功能会使一切恢复正常.有什么原因导致这个以及如何解决它?

非常感谢

Jos*_*ros 11

您需要__init__在子类' 方法中的某个时刻调用超类' __init__方法:

def __init__(self, *args, **kwargs):
    super(Question, self).__init__(*args, **kwargs)
    # your code here
Run Code Online (Sandbox Code Playgroud)