1. 程式人生 > >django-自定義User對象數據模型建立

django-自定義User對象數據模型建立

turn ini 默認 mat con unique 修改 分享 nag

自定義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對象數據模型建立