您的位置:首页 > 编程语言 > Go语言

Django中model.py重写user

2017-10-11 16:26 309 查看
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内置的用于兼容python2和python3的Unicode语法的一个装饰器,只针对__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'


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: