当前位置:   article > 正文

【Python学习笔记】我理解的类和继承,使用Django的auth的表增加一张新表(userInfo),继承auth表。_django 添加新表

django 添加新表

1、以下为Django的用户信息表,from django.comtrib.auth.models import AbstractUser

  1. class AbstractUser(AbstractBaseUser, PermissionsMixin):
  2. """
  3. An abstract base class implementing a fully featured User model with
  4. admin-compliant permissions.
  5. Username and password are required. Other fields are optional.
  6. """
  7. username_validator = UnicodeUsernameValidator()
  8. username = models.CharField(
  9. _("username"),
  10. max_length=150,
  11. unique=True,
  12. help_text=_(
  13. "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
  14. ),
  15. validators=[username_validator],
  16. error_messages={
  17. "unique": _("A user with that username already exists."),
  18. },
  19. )
  20. first_name = models.CharField(_("first name"), max_length=150, blank=True)
  21. last_name = models.CharField(_("last name"), max_length=150, blank=True)
  22. email = models.EmailField(_("email address"), blank=True)
  23. is_staff = models.BooleanField(
  24. _("staff status"),
  25. default=False,
  26. help_text=_("Designates whether the user can log into this admin site."),
  27. )
  28. is_active = models.BooleanField(
  29. _("active"),
  30. default=True,
  31. help_text=_(
  32. "Designates whether this user should be treated as active. "
  33. "Unselect this instead of deleting accounts."
  34. ),
  35. )
  36. date_joined = models.DateTimeField(_("date joined"), default=timezone.now)
  37. objects = UserManager()
  38. EMAIL_FIELD = "email"
  39. USERNAME_FIELD = "username"
  40. REQUIRED_FIELDS = ["email"]
  41. class Meta:
  42. verbose_name = _("user")
  43. verbose_name_plural = _("users")
  44. abstract = True
  45. def clean(self):
  46. super().clean()
  47. self.email = self.__class__.objects.normalize_email(self.email)
  48. def get_full_name(self):
  49. """
  50. Return the first_name plus the last_name, with a space in between.
  51. """
  52. full_name = "%s %s" % (self.first_name, self.last_name)
  53. return full_name.strip()
  54. def get_short_name(self):
  55. """Return the short name for the user."""
  56. return self.first_name
  57. def email_user(self, subject, message, from_email=None, **kwargs):
  58. """Send an email to this user."""
  59. send_mail(subject, message, from_email, [self.email], **kwargs)

2、继承AbstractUser

  1. from django.contrib.auth.models impodrt AbstractUser
  2. calss uesrInfo(AbstractUser):
  3. nid=models.AutoField(primary_key=True)
  4. telephone=models.CharFiled(max_lenth=11,null=True,nuique=True)

3、在Django , setting.py文件里配置:

1

AUTH_USER_MODEL = 'blog.UserInfo'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/306373
推荐阅读
相关标签
  

闽ICP备14008679号