4.0.django-app设计

users/models.py

from django.contrib.auth.models import AbstractUser
from django.db import models


class UserProfile(AbstractUser):
    nick_name = models.CharField(max_length=50, verbose_name='昵称', default='')
    birthday = models.DateField(verbose_name='生日', null=True, blank=True)
    gender = models.CharField(max_length=6, choices=(('male', '男'), ('female', '女')), verbose_name='性别', default='female')
    address = models.CharField(max_length=100, default='')
    mobile = models.CharField(max_length=11, null=True, blank=True)
    image = models.ImageField(upload_to='image/%Y/%m', default='image/default.png', max_length=100)

    class Meta:
        verbose_name = '用户信息'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.username

hello_django/settings.py

INSTALLED_APPS = [
    'users',
    ...
]

AUTH_USER_MODEL = 'users.UserProfile'

注意:AUTH_USER_MODEL的作用是使用UserProfile替换默认的Users

生成数据表

$ python manage.py makemigrations
$ python manage.py migrate

Last updated

Was this helpful?