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