Django让超级用户在模型类中使用

问题描述

我想获取所有用户信息以设置包括超级用户在内的用户配置文件,但不知何故我的代码没有获取超级用户数据。请看一下

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

class UserProfile(models.Model):
    user = models.OnetoOneField(User,on_delete=models.CASCADE)

解决方法

根据 docs,您应该使用 django.contrib.auth.get_user_model() 来引用用户模型,而不是直接引用 User。此方法将返回当前活动的用户模型 - 如果指定了自定义用户模型,否则为 User。因此,如果您是自定义用户,请使用 User = get_user_model() or settings.AUTH_USER_MODEL