訪問user Model的三種方式

1、最常規,不定製custom的方式django

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()

 

2、custom userspa

# settings.py
AUTH_USER_MODEL = `users.CustomUser`

而後在model這樣寫code

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()

 

3、無論是否是定製,通用的寫法:get_user_modelblog

# settings.py
AUTH_USER_MODEL = `users.CustomUser`

model.py這樣寫get

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只針對定製用戶。it

相關文章
相關標籤/搜索