訪問user Model的三種方式


一、最常規,不定制custom的方式

from django.contrib.auth.models import User

class Post(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=50)
    body = models.TextField()

 

二、custom user

# settings.py
AUTH_USER_MODEL = `users.CustomUser`

然后在model這樣寫

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

class Post(models.Model):
    author = models.ForeignKey(
      settings.AUTH_USER_MODEL,
      on_delete=models.CASCADE
    )
    title = models.CharField(max_length=50)
    body = models.TextField()

 

三、不管是不是定制,通用的寫法:get_user_model

# settings.py
AUTH_USER_MODEL = `users.CustomUser`

model.py這樣寫

from django.contrib.auth import get_user_model
from django.db import models

class Post(models.Model):
    author = models.ForeignKey(
      get_user_model(),
      on_delete=models.CASCADE
    )
    title = models.CharField(max_length=50)
    body = models.TextField()

 

get_user_model()會返回當前使用的用戶,不論是定制還是系統默認用戶。AUTH_USER_MODEL只針對定制用戶。

 

 


免責聲明!

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



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