错误:没有属性' _state'

时间:2014-07-02 17:09:35

标签: python django django-models

我有一个模特:

class User(models.Model):

    user_id = models.IntegerField(default=0)
    user_name = models.CharField(max_length=20)
    user_age = models.IntegerField(default=0)

    def __init__(self, user_id, user_name, user_age):
        self.user_id = user_id
        self.user_name = user_name
        self.user_age = user_age

然后我尝试创建此模型的实例:

new_user = User(0, 'Andrew', 25)
new_user.save()

但这给了我错误:

'User' object has no attribute '_state'

这是什么意思?

2 个答案:

答案 0 :(得分:3)

代码缺少对超类“__init__

的调用
def __init__(self, user_id, user_name, user_age):
    super(User, self).__init__() # <----
    self.user_id = user_id
    self.user_name = user_name
    self.user_age = user_age

答案 1 :(得分:3)

你根本不应该真正定义__init__方法。 falsetru表明你需要调用超类方法,但是你已经提供了你自己版本中的所有功能。