Django继承自带user表并重写的例子

yipeiwu_com6年前Python基础

1.在models里引入

from django.contrib.auth.models import AbstractUser

2.自定义一个类继承AbstractUser

class UsersModels(AbstractUser):
  nick_name = models.CharField(max_length=20, verbose_name='昵称')
  birday = models.DateField(verbose_name='生日', null=True, blank=True)
  address = models.CharField(max_length=50, verbose_name='地址', default='')
  mobile = models.CharField(max_length=11, verbose_name='手机', default='')
  image = models.ImageField(upload_to='images/%Y/%m', default='images/default.png', verbose_name='头像')
  sex = models.CharField(max_length=10, default='',verbose_name='性别')
  age=models.CharField(max_length=5,default='',verbose_name='年龄')
 
  class Meta:
    db_table = 'user'
    verbose_name = '用户信息'
    verbose_name_plural = verbose_name

上面verbose_name是在后台显示的字段名称。

3.在settings里面配置

# 配置使用到的用户模型类
AUTH_USER_MODEL = 'register.UserProfile'  #register 指的是app名称

小知识点

# choices 枚举选项 ,必须从指定的项中选择一个
  send_type = models.CharField(choices=(('register', '注册邮件'), ('forget', '找回密码')), max_length=10, verbose_name='邮件类型')
  # 邮件使用状态
  status = models.BooleanField(choices=((True, '已使用'), (False, '未使用')), verbose_name='邮件状态', default=False)

以上这篇Django继承自带user表并重写的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中面向对象你应该知道的一下知识

0x00 is与== ==运算符是比较两个对象的内容是否相等,默认情况是调用对象的__eq__方法进行比较;而is是比较两个对象是否一样,它比较的两个对象的id,即它们的内存地址是否相...

python中property属性的介绍及其应用详解

Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回。 使用property修饰的实例方法被调用时,可以把它当做实例属性一样 pr...

Python函数的周期性执行实现方法

本文实例讲述了Python函数的周期性执行实现方法。分享给大家供大家参考,具体如下: 需要用到python的sched模块: #coding=utf-8 import time,sc...

对于Python编程中一些重用与缩减的建议

返璞归真 许多流行的玩具都以这样一个概念为基础:简单的积木。这些简单的积木可通过多种方式组合在一起构造出全新的作品 —— 有时甚至完全令人出乎意料。这一概念同样适用于现实生活中的建筑领域...

Python标准库urllib2的一些使用细节总结

Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 的使用细...