错误:没有属性'_state

1 投票
2 回答
1084 浏览
提问于 2025-04-18 11:54

我有一个模型:

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 个回答

3

其实你不需要自己去定义 __init__ 这个方法。falsetru 提到你需要调用父类的方法,但你自己写的那些功能其实父类的方法已经提供了。

5

这段代码缺少对父类的 __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

撰写回答