Django中model.py重写user

本文档介绍了如何在Django中重写默认的user模型,通过继承AbstractUser创建新的用户模型MewUsr,添加了简介字段,并在settings.py中配置AUTH_USER_MODEL以使用新模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.models.py中引入父类AbstractUser-重写父类

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

# 添加数据为中文时,设置为utf-8,防止出现中文乱码
import sys

reload(sys)

sys.setdefaultencoding('utf8')

from django.db import models
from django.contrib.auth.models import User,AbstractUser
from django.utils.encoding import python_2_unicode_compatible


# Create your models here.
# 自定义用户模型
# python2.x中使用__unicode__(),python3.x中使用 __str__()
# python_2_unicode_compatible:Django内置的用于兼容python2python3Unicode语法的一个装饰器,只针对__str__方法使用

@python_2_unicode_compatible
class MewUsr(AbstractUser):
    # 由于是继承自父类AbstractUser(Django默认使用的user类型也继承自该类),在定义字段时,只需要定义默认没有的字段就可以了
    profile = models.CharField(max_length=100,verbose_name=u'简介')

    class Meta:
        verbose_name = u'用户'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.username

2.在setting.py中进行配置
# 如果取消Django内置的user,使用我们自己扩展的新的user,需要配置下代码,目的能够让Django识别新User并加载
AUTH_USER_MODEL = 'app.NewUser'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值