如何将Django自定义用户表为?
摘要:当默认的用户表中字段不足以满足我们的业务需求时,可以自己继承和重写用户表,增加想要的字段。 1. 自定义用户表模型 from django.db import models from django.contrib.auth.models i
当默认的用户表中字段不足以满足我们的业务需求时,可以自己继承和重写用户表,增加想要的字段。
1. 自定义用户表模型
from django.db import models
from django.contrib.auth.models import AbstractUser
# 重新定义用户表
class UserProfile(AbstractUser):
avatar = models.ImageField(upload_to='image/avatar', default='', max_length=100, null=True, blank=True)
nick_name = models.CharField(max_length=20, verbose_name=u'昵称', default=u'新用户')
birthday = models.DateField(verbose_name=u'生日', null=True, blank=True)
gender = models.CharField(choices=(('men', u'男'), ('woman', u'女')), max_length=8, default='woman' )
address = models.CharField(max_length=100, default=u'火星村', verbose_name=u'邮箱地址')
mobile = models.CharField(max_length=11, verbose_name='联系方式', null=True, blank=True, default='')
class Meta:
verbose_name = u'用户'
verbose_name_plural = verbose_name
2. 告诉Django使用我们自己的用户表
配置settings.py:
app01:app名
UserProfile:模型的类名
AUTH_USER_MODEL = 'app01.UserProfile'
3. 数据库迁移
python3 manage.py makemigrations
python3 manage.py migrate
4. 结果
