創(chuàng)建自定義的用戶模型類

Django認證系統(tǒng)中的用戶模型類有些字段無法滿足項目需求挫掏,如手機號皿桑,需要給模型類添加額外的字段详拙。

Django提供了django.contrib.auth.models.AbstractUser用戶抽象模型類允許繼承叹阔,擴展字段來使用Django認證系統(tǒng)的用戶模型類质蕉。

可以在apps中創(chuàng)建Django應用users势篡,并在配置文件中注冊users應用。

在創(chuàng)建好的應用models.py中定義用戶的用戶模型類模暗。

class User(AbstractUser):
    """用戶模型類"""
    mobile = models.CharField(max_length=11, unique=True, verbose_name='手機號')

    class Meta:
        db_table = 'xx_users'
        verbose_name = '用戶'
        verbose_name_plural = verbose_name

自定義的用戶模型類還不能直接被Django的認證系統(tǒng)所識別禁悠,需要在配置文件中告知Django認證系統(tǒng)使用自定義的模型類。

在配置文件中進行設置

AUTH_USER_MODEL = 'users.User'

注意:Django建議AUTH_USER_MODEL參數(shù)的設置一定要在第一次數(shù)據(jù)庫遷移之前就設置好兑宇,否則后續(xù)使用可能出現(xiàn)未知錯誤碍侦。

執(zhí)行數(shù)據(jù)庫遷移

python manage.py makemigrations
python manage.py migrate

執(zhí)行python manage.py migrate命令時:系統(tǒng)報錯類似如下:

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration reversion.0001_squashed_0004_auto_20160611_1202 is applied before its dependency users.0001_initial on database 'default'.

這是由于reversion的子應用使用了原來的users模型,目前數(shù)據(jù)庫已經(jīng)設置了默認的子應用為users的模型了隶糕,所以產(chǎn)生了沖突瓷产。需要清除原來的遷移文件和數(shù)據(jù)庫中的所有信息就可以解決。

解決步驟:
1. 備份數(shù)據(jù)庫枚驻,刪除關于用戶原來的數(shù)據(jù)表信息和表結(jié)構[如果剛開始開發(fā)濒旦,則直接清除庫中所有數(shù)據(jù)表即可。]
2. 刪除子應用users中migrations目錄下除了__init__.py以外的所有遷移文件
3. 刪除在django.contrib.admin和django.contrib.auth模塊里面的migrations遷移文件再登,除了__init__.py
4. 刪除在xadmin和reversion模塊中的migrations的遷移文件尔邓,除了__init__.py。
5. 執(zhí)行數(shù)據(jù)遷移霎冯,把備份數(shù)據(jù)铃拇,除了用戶以外的全部恢復執(zhí)行即可。
6. 使用manage.py createsuperuser創(chuàng)建管理員即可
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沈撞,一起剝皮案震驚了整個濱河市慷荔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缠俺,老刑警劉巖显晶,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異壹士,居然都是意外死亡磷雇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門躏救,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唯笙,“玉大人螟蒸,你說我怎么就攤上這事”谰颍” “怎么了七嫌?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長苞慢。 經(jīng)常有香客問我诵原,道長,這世上最難降的妖魔是什么挽放? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任绍赛,我火速辦了婚禮,結(jié)果婚禮上辑畦,老公的妹妹穿的比我還像新娘吗蚌。我一直安慰自己,他們只是感情好航闺,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布褪测。 她就那樣靜靜地躺著,像睡著了一般潦刃。 火紅的嫁衣襯著肌膚如雪侮措。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天乖杠,我揣著相機與錄音分扎,去河邊找鬼。 笑死胧洒,一個胖子當著我的面吹牛畏吓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卫漫,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼菲饼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了列赎?” 一聲冷哼從身側(cè)響起宏悦,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎包吝,沒想到半個月后饼煞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡诗越,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年砖瞧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚷狞。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡块促,死狀恐怖荣堰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褂乍,我是刑警寧澤持隧,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站逃片,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏只酥。R本人自食惡果不足惜褥实,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裂允。 院中可真熱鬧损离,春花似錦、人聲如沸绝编。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽十饥。三九已至窟勃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逗堵,已是汗流浹背秉氧。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜒秤,地道東北人汁咏。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像作媚,于是被迫代替她去往敵國和親攘滩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355