当前位置: 首页 > 编程笔记 >

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

仲孙鸣
2023-03-14
本文向大家介绍Django继承自带user表并重写的例子,包括了Django继承自带user表并重写的例子的使用技巧和注意事项,需要的朋友参考一下

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表并重写的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • “编写一个名为clsWorker的超类和子类clsHourlyWorker和clssalariedworker。每个工人都有一个名字和一个工资率。编写计算每个员工周薪的方法computePay(int hours)。小时工按实际工作小时数获得小时工资,如果小时数最多为40小时。如果小时工工作超过40小时,则按时间半支付超出部分。受薪工人得到40小时的小时工资,无论实际小时数是多少。为继承编写一个测

  • 问题内容: Django中对单表继承有显式支持吗?最后我听说,该功能仍在开发和辩论中。 在此期间是否可以使用库/黑客来捕获基本行为?我有一个混合了不同对象的层次结构。具有Employee类,雇员类型的子类和manager_id(parent_id)的公司结构的规范示例将很好地逼近我正在解决的问题。 就我而言,我想代表一个想法,即一个员工可以在由另一个员工管理的同时管理其他员工。没有用于Manage

  • 问题内容: 我有两个课,和。它们看起来像这样: 此错误指向Field的: 我希望首先调用Background init ()。要将“ a,b”传递给Fields的 init (),Field会分配a和b,然后将其中包含三个0的列表分配给field。然后让Background的 init ()继续,然后调用它自己的buildField()并用包含c的列表覆盖self.field。 似乎我还没有完全理

  • 问题内容: 我想创建一个只能接受某些类型的列表。因此,我试图从Python中的列表继承,并像这样覆盖append()方法: 这将导致无限循环,因为append()的主体会自行调用,但是除了使用self.append(item)外,我不确定该做什么。 我应该怎么做呢? 问题答案: 我对你的课做了一些改动。这似乎正在工作。 一些建议:不要用作关键字-是内置函数。使用前缀访问Python实例变量。所以用

  • 问题内容: 我有一个解决方案,我认为我可以照顾模型继承,但是现在再来看一下,它实际上并不能解决我的问题。我希望能够调用一个模型,然后让我可以访问子模型的字段。对于继承,我仍然必须将子模型名称放在命令行中,这会破坏整个目的。这是我想要的示例: 我想做的是: 并使其运行相应的渲染功能。例如,如果pk与Note模型对齐,则它将仅返回self.id。当然,这简化为我要使用这些功能执行的操作。 我不必使用模

  • 主要内容:多继承下的构造函数,命名冲突在前面的例子中,派生类都只有一个基类,称为 单继承(Single Inheritance)。除此之外, C++也支持 多继承(Multiple Inheritance),即一个派生类可以有两个或多个基类。 多继承容易让代码逻辑复杂、思路混乱,一直备受争议,中小型项目中较少使用,后来的 Java、 C#、 PHP 等干脆取消了多继承。 多继承的语法也很简单,将多个基类用逗号隔开即可。例如已声明了类A