首页 > 其他 > 详细

访问user Model的三种方式

时间:2020-06-28 10:15:44      阅读:77      评论:0      收藏:0      [点我收藏+]

一、最常规,不定制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只针对定制用户。

 

 

访问user Model的三种方式

原文:https://www.cnblogs.com/lxgbky/p/13201152.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!