最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django 解決擴展自帶User表遇到的問題

 更新時間:2020年05月14日 09:47:24   作者:腫腫的猴子  
這篇文章主要介紹了django 解決擴展自帶User表遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

首先要擴展自帶的auth_user表我就放個圖吧,

同時setting中應該設(shè)置:

# 此處重載是為了使UserProfile生效
AUTH_USER_MODEL = "EcdsApp.UserProfile"

本人的項目需要對此表進行擴展,再建兩個子表關(guān)聯(lián)這個表,關(guān)聯(lián)關(guān)系為一對一:

修改完成之后進行子表關(guān)聯(lián):

from django.contrib.auth.models import AbstractUser, User
from django.conf import settings
class UserInfo(models.Model):
  user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

直接關(guān)聯(lián)肯定會報錯,此時加入上面兩段代碼,

第一個是引入 setting

第二個是在關(guān)聯(lián)字段哪里將原有的User 更換為setting.AUTH_USER_MODEL

此時再次遷移應該就能成功了,

能夠遷移成功但是還會有問題。

我后面的功能代碼中原先寫的有用到;User這個表的地方,代碼運行到這里就會出錯。

報錯信息如下

AttributeError: Manager isn't available; 'auth.User' has been swapped for 'EcdsApp.UserProfile'

原因是原User表已經(jīng)發(fā)生改變這里也需要變動一下:

from django.contrib.auth import get_user_model
User = get_user_model()

直接將這兩行加入到你所有使用到原User表的py文件中,基本問題就可以解決!

補充知識:Python+ django + pycharm項目之擴展默認user表

django為我們提供了默認的user表,但是在實際的開發(fā)項目的基本是不滿足實際情況的,所以呢學習web知識,擴展默認user表是必不可少的一部分,雖然很簡單,但是呢還是在此來加深下自己的記憶。

在django項目中,所有的數(shù)據(jù)庫表都是根據(jù)各APP的模型來生成的,我們創(chuàng)建項目后第一件事就是要去完善user表,這個利用的知識點就是Python類的繼承,假如,我要創(chuàng)建UserProfile類來繼承原來的AbstractUser類,從而繼承原來user表的字段,又可以增加自己需要的字段:

在users 用戶app的models.py做如下的修改:

from django.db import models
 
from django.contrib.auth.models import AbstractUser  # 引入原來的Abstract類
 
# 創(chuàng)建新的類來繼承原來的類,并拓展自己的字段
class UserProfile(AbstractUser):
  nick_name = models.CharField(max_length=20, verbose_name='昵稱')
  birthday = models.DateField(verbose_name='生日', null=True, blank=True)
  gender = models.CharField(choices=(('male', '男'), ('female', '女')), verbose_name='性別', default='feamale', max_length=10)
  address = models.CharField(max_length=50, verbose_name='地址', default='')
  mobile = models.CharField(max_length=11, verbose_name='聯(lián)系電話', null=True, blank=True)
  image = models.ImageField(upload_to='image/%Y/%m', default='image/default.png', max_length=100)
 
  class Meta:
    verbose_name = '用戶信息'
    verbose_name_plural = verbose_name
 
  def __str__(self):
    return self.username

修改了models.py中代碼后,需要注冊你創(chuàng)建的app,django中是如何來識別你創(chuàng)建的APP呢,查看各APP的apps,py文件

文件中的name=‘users'代表著django可以識別該名稱為這個APP的名稱,于是就可以在settings.py文件中進行注冊APP了:

還需要配置一個參數(shù):AUTH_USER_MODEL = 'users.UserProfile'

最后遷移數(shù)據(jù)庫,使用makemigrations 和 migrate 就可以完成user表的擴展了,刷新數(shù)據(jù)庫,表是不是已經(jīng)生成了0.0

以上這篇django 解決擴展自帶User表遇到的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實現(xiàn)學生信息管理系統(tǒng)(精簡版)

    python實現(xiàn)學生信息管理系統(tǒng)(精簡版)

    這篇文章主要為大家詳細介紹了python實現(xiàn)學生信息管理系統(tǒng)的精簡版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • python貪吃蛇核心功能實現(xiàn)上

    python貪吃蛇核心功能實現(xiàn)上

    我想大家都玩過諾基亞上面的貪吃蛇吧,這篇文章將帶你一步步用python語言實現(xiàn)一個snake小游戲,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-09-09
  • 如何不用安裝python就能在.NET里調(diào)用Python庫

    如何不用安裝python就能在.NET里調(diào)用Python庫

    這篇文章主要介紹了如何不用安裝python就能在.NET里調(diào)用Python庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 教你使用python做一個“罰點球”小游戲

    教你使用python做一個“罰點球”小游戲

    這篇文章主要介紹了用python做一個“罰點球”小游戲,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Jmeter通過OS進程取樣器調(diào)用Python腳本實現(xiàn)參數(shù)互傳

    Jmeter通過OS進程取樣器調(diào)用Python腳本實現(xiàn)參數(shù)互傳

    這篇文章主要介紹了Jmeter通過OS進程取樣器調(diào)用Python腳本實現(xiàn)參數(shù)互傳,描述在cmd中調(diào)用上面的Python腳本并傳入兩個參數(shù)展開主題,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • Python?第三方opencv庫實現(xiàn)圖像分割處理

    Python?第三方opencv庫實現(xiàn)圖像分割處理

    這篇文章主要介紹了Python?第三方opencv庫實現(xiàn)圖像分割處理,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Pycharm如何打斷點的方法步驟

    Pycharm如何打斷點的方法步驟

    這篇文章主要介紹了Pycharm如何打斷點的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 分析Python讀取文件時的路徑問題

    分析Python讀取文件時的路徑問題

    本篇文章通過圖文實例的方式給大家詳細分析了Python讀取文件時的路徑問題,對此有需求的朋友可以參考學習下。
    2018-02-02
  • python 網(wǎng)絡編程詳解及簡單實例

    python 網(wǎng)絡編程詳解及簡單實例

    這篇文章主要介紹了python 網(wǎng)絡編程詳解及簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 在Pandas中給多層索引降級的方法

    在Pandas中給多層索引降級的方法

    今天小編就為大家分享一篇在Pandas中給多層索引降級的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評論

拉孜县| 广水市| 霍邱县| 佛冈县| 三原县| 和龙市| 华蓥市| 邯郸市| 鞍山市| 新乡县| 桓台县| 韶山市| 马鞍山市| 永年县| 台湾省| 循化| 乌审旗| 大化| 昭苏县| 黎城县| 贺兰县| 永川市| 肥城市| 丁青县| 兴化市| 康乐县| 丰城市| 华池县| 固镇县| 田东县| 太谷县| 泰兴市| 贺兰县| 中西区| 榆社县| 通化市| 万载县| 遂平县| 凤翔县| 建昌县| 新蔡县|