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

django 自定義用戶user模型的三種方法

 更新時間:2014年11月18日 10:23:23   投稿:hebedich  
這篇文章主要介紹了django 自定義用戶user模型的三種方法,需要的朋友可以參考下

django version: 1.7.1

最簡單的推薦:
使用abstractuser擴充fields

復制代碼 代碼如下:

profiles/models.py

from django.db import models
from django.contrib.auth.models import AbstractUser
from django.utils.translation import ugettext_lazy as _

# Create your models here.
class KarmaUser(AbstractUser):
karma = models.PositiveIntegerField(_("karma"),default=0,blank=True)
settings.py

AUTH_USER_MODEL = 'profiles.KarmaUser'

2.使用abstractbaseuser

只有當你對user
model里面的默認字段不滿的時候才要使用,這個方法只保留了passwork,last_login,is_active三個字段
參考官方文檔:
https://docs.djangoproject.com/en/1.7/topics/auth/customizing/

3.使用一對一關系將相關的模型一個個聯(lián)系起來

這很像django 1.5之前的方式.很適用于創(chuàng)建第三方擴充包的場景,松耦合,不會破壞之前項目的結構.

需要此方法的場景:
- 在自己的django prj下,希望有多重user擁有各自很不相同的字段.或許希望有些用戶組合起來一些用戶的類型字段,并且希望能在模型層面上解決這些問題.
例子如下:

profiles/models.py

復制代碼 代碼如下:

from django.conf import settings
from django.db import models

from flavors.models import Flavor

class EaterProfile(models.Model):
# 默認用戶資料
user = models.OneToOneField(settings.AUTH_USER_MODEL)
favorite_ice_cream = models.ForeignKey(Flavor,null=True,blank=True)

class ScooperProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
scoops_scooped = models.IntegerField(default=0)

class InventorProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
flavors_invented = models.ManyToManyField(Flavor,null=True,blank=True)

個人認為在我的建站場景中,第二種最合適.正在測試是否可以用抽象類簡化模型.待續(xù)...

以上3種方法各有優(yōu)劣,大家根據(jù)自己的需求,自由選擇吧。

相關文章

  • python求最大值,不使用內置函數(shù)的實現(xiàn)方法

    python求最大值,不使用內置函數(shù)的實現(xiàn)方法

    今天小編就為大家分享一篇python求最大值,不使用內置函數(shù)的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python梯度下降法的簡單示例

    python梯度下降法的簡單示例

    這篇文章主要為大家詳細介紹了Python梯度下降法的簡單示例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • pyspark?dataframe列的合并與拆分實例

    pyspark?dataframe列的合并與拆分實例

    這篇文章主要介紹了pyspark?dataframe列的合并與拆分實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Python常用標準庫之os模塊功能

    Python常用標準庫之os模塊功能

    這篇文章主要介紹了Python常用標準庫之os模塊功能,os模塊的主要功能有系統(tǒng)相關、目錄及文件操作、執(zhí)行命令和管理進程,其中的進程管理功能主要是Linux相關的,此處不做討論,對Python標準庫os相關知識感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • Python面向對象實現(xiàn)數(shù)據(jù)分析的實例詳解

    Python面向對象實現(xiàn)數(shù)據(jù)分析的實例詳解

    這篇文章主要通過幾個實例為大家詳細介紹了Python面向對象實現(xiàn)數(shù)據(jù)分析的方法,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下
    2023-01-01
  • sklearn.metrics 中的f1-score簡介

    sklearn.metrics 中的f1-score簡介

    這篇文章主要介紹了sklearn.metrics 中的f1-score簡介,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • 超詳細注釋之OpenCV構建透明的疊加層

    超詳細注釋之OpenCV構建透明的疊加層

    這篇文章主要介紹了OpenCV構建透明的疊加層,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • python和JavaScript通信

    python和JavaScript通信

    這篇文章主要介紹了python和JavaScript通信,js和python是兩種語言,js處理網(wǎng)頁數(shù)據(jù),python可作為服務端開發(fā),兩者通過websocket進行通信,下文具體操作內容需要的小伙伴可以參考一下
    2022-04-04
  • 基于Pygame中Pygame模塊的大戰(zhàn)外星人實戰(zhàn)

    基于Pygame中Pygame模塊的大戰(zhàn)外星人實戰(zhàn)

    本文主要介紹了基于Pygame中Pygame模塊的大戰(zhàn)外星人實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python實現(xiàn)的讀取文件內容并寫入其他文件操作示例

    Python實現(xiàn)的讀取文件內容并寫入其他文件操作示例

    這篇文章主要介紹了Python實現(xiàn)的讀取文件內容并寫入其他文件操作,結合實例形式分析了Python文件讀寫操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04

最新評論

雷州市| 团风县| 洱源县| 邯郸市| 大足县| 巴青县| 巴林左旗| 嘉定区| 五华县| 德保县| 五常市| 临湘市| 卓资县| 金川县| 益阳市| 夏河县| 郎溪县| 五莲县| 汽车| 如皋市| 陵水| 徐汇区| 射阳县| 林甸县| 张家川| 双峰县| 安庆市| 图们市| 姜堰市| 新巴尔虎右旗| 会泽县| 龙里县| 泸溪县| 阳高县| 衡阳县| 大石桥市| 额尔古纳市| 汉川市| 江川县| 青冈县| 吉安市|