django-自定义User对象数据模型建立

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-自定义User对象数据模型建立相关的知识,希望对你有一定的参考价值。

自定义User

1,修改models.py

1,1完全自定义(不要django默认的字段)

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

class MyUser(AbstractBaseUser):
    #下面两行一定要加上的
    identifier = models.CharField(max_length=40, unique=True)
    USERNAME_FIELD = ‘identifier‘
    #自己新增的字段
    jifen = models.IntegerField("积分", default=0)

    class Meta:
        db_table = "myUser"

    def __str__(self):
        return self.identifier

1,2不完全自定义User(在django的User默认的字段上增加)

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

class MyUser(AbstractUser):
    jifen = models.IntegerField("积分", default=0)

    class Meta:
        db_table = "myUser"

    def __str__(self):
        return self.id

2,修改settings.py

# 在Settings.py加入
AUTH_USER_MODEL = ‘blog.MyUser‘

3,删除数据库,重新创建数据库

如果你之前执行过同步数据库的话.数据库就会有django默认的用户表.不删除就冲突.所以定义User最好第一时间去做.
技术分享

4,把app目录下的migrations记录删掉

除了__init__.py其他全部删掉.
技术分享
5,执行同步命令

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

完全自定义User
技术分享
不完全自定义User
技术分享







以上是关于django-自定义User对象数据模型建立的主要内容,如果未能解决你的问题,请参考以下文章

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

在 Django 中使用自定义字段扩展用户模型

如何为 Django 对象创建自定义过滤器标签?

Django 重写用户模型

为后端的每个用户创建 Django User 对象

Django 创建自定义User模型 CustomUser