继承users表,添加新字段成一个新表

1. Tools > Run manage.py Task 创建app,users

startapp users

2.修改users中的models

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


# Create your models here.

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=10, choices=(('male', ''), ('female', '')), verbose_name='性别',
                              default='female')
    address = models.CharField(max_length=100, default='')
    mobile = models.CharField(max_length=11, verbose_name='手机号码', null=True, blank=True)
    image = models.ImageField(max_length=100, verbose_name='用户头像', upload_to='static/uploads/images/%Y/%m',
                              default='static/uploads/images/default.png')

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

    def __str__(self):
        return self.username

3.修改配置文件settings

AUTH_USER_MODEL = 'users.UserProfile' 应该是把默认的用户表从auth_users换到了自定义的users.userprofile

4. 数据迁移
makemigrations users 会出错,django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'.

用的网上的图,这样只能把之前所有的数据都重新迁移,就解决了。

直接:

makemigrations
migrate

 好像auth_users不见了

猜你喜欢

转载自www.cnblogs.com/andu99/p/8981027.html