Django set_password 没有属性

The*_*e87 0 python sqlite django

我正在尝试使用 set_password() 函数,但出现此错误

'Member' object has no attribute 'set_password'
Run Code Online (Sandbox Code Playgroud)

当我使用它时出现。如果我取出 set_password() 函数,密码将存储在数据库中,但不会被散列。

查看.py

user = Member(username=u, password=p, email=e, security=s)
user.set_password(p)
user.save()
Run Code Online (Sandbox Code Playgroud)

模型.py

class Member(models.Model):
    username = models.CharField(max_length=16,primary_key=True)
    password = models.CharField(max_length=16)
    email = models.CharField(max_length=325)
    security = models.CharField(max_length=16)
    profile = models.OneToOneField(Profile, null=True)
    following = models.ManyToManyField("self", symmetrical=False)
    from_member_id = models.CharField(max_length=16)

    def __str__(self):
        return self.username
Run Code Online (Sandbox Code Playgroud)

Kai*_*uxe 6

set_password功能不是由 自动提供的models.Model。您必须自己定义或Member从 django Usermodel派生