我正在学习django,我需要创建一个名为Person的自定义用户。我使用来自contrib.auth.models用户的继承,但在我的django管理员中添加新教师的表单不显示字段确认密码,密码未在表用户中加密
from django.db import models
from django.contrib.auth.models import User, UserManager
# Create your models here.
class Person (User):
date_of_birth = models.DateField(blank=False, null=False)
class Meta:
abstract = True
class ClassRoom (models.Model):
classroom = models.CharField(max_length=3, blank=False, null=False)
def __unicode__(self):
return self.classroom
class Teacher(Person):
phone = models.PositiveIntegerField(max_length=15, blank=False, null=False)
classroom = models.ManyToManyField(ClassRoom)
你可以在这张照片中看到保存第一个和第二个用户输入密码(这个用户在django管理员中被添加为普通用户),但最后一个(在django管理员中作为教师提供)不加密密码
有人可以帮帮我吗? database photo user table答案 0 :(得分:0)
要加密密码,您需要通过用户set_password
方法进行设置。例如,
user = User(
email=email, is_staff=False, is_active=True,
is_superuser=False,
last_login=now, date_joined=now, **extra_fields)
user.set_password(password)
user.save(using=self._db)