django自定義用戶表


django中已經給我生成默認的User表,其中的字段已經可以滿足我們的日常需求。

但有時候,我們需要更多的字段,我們就可以自定義。來替換django自帶的User表。

 

#models.py

from django.contrib.auth.models import AbstractUser

class UserProfile(AbstractUser):
    nick_name = models.CharField(max_length=50, verbose_name=u'昵稱')
    birthday = models.DateField(verbose_name=u'生日', null=True, blank=True)
    gender = models.CharField(max_length=10, choices=(("male", u''), ("female", u'')), default='female')
    address = models.CharField(max_length=11, verbose_name=u'地址', null=True, blank=True)
    image = models.ImageField(upload_to='image/%Y/%m', default=u"image/default.png", max_length=100)
    phone = models.CharField(max_length=11, verbose_name=u"手機號碼", null=True, blank=True)
    # image依賴Pillow

    class Meta:
        verbose_name = u"用戶信息"
        verbose_name_plural = verbose_name

    def __unicode__(self):
        return self.username

#adminx.py

from xadmin.plugins.auth import UserAdmin


class UserProfileAdmin(UserAdmin):
    pass

 

#settings.py

INSTALLED_APPS = [
    ...
    'users',
    ....
]

AUTH_USER_MODEL="users.UserProfile"

 

 

然后就可以makemigrations,migrate

然后就可以創建超級用戶。如果之前創建過,會被刪除,需要重新創建。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM