You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django启动GraphQL报错:UserType.Meta收到无效auth.User模型如何解决?

报错原因

graphene_django 的 DjangoObjectType 要求 Meta 类下的 model 参数必须传入真实的Django模型类对象,你当前传入的 settings.AUTH_USER_MODEL 是字符串类型的模型路径(值为auth.User),不满足参数要求,因此触发报错。

解决方案

修改你的 schema.py 文件即可,具体调整如下:

  1. 从 django.contrib.auth 导入 get_user_model 工具方法,该方法会自动读取你的项目配置,返回对应的用户模型类
  2. 将 UserType 下 Meta.model 的值替换为 get_user_model() 的调用结果

修改后的完整 schema.py 代码:

from django.conf import settings
from django.contrib.auth import get_user_model
from graphene_django import DjangoObjectType
from Start import models
import graphene


# Всё заканчивается на type ибо они соответсвуют Graphql

class UserType(DjangoObjectType):
    class Meta:
        model = get_user_model()


class AuthorType(DjangoObjectType):
    class Meta:
        model = models.Profile


class FileType(DjangoObjectType):
    class Meta:
        model = models.File


class TagType(DjangoObjectType):
    class Meta:
        model = models.Tag

额外注意:你当前 Profile 模型的 __str__ 方法中调用了 self.user.name,如果你使用的是Django默认的auth.User模型,该模型不存在name字段,后续调用时可能触发报错,建议调整为 self.user.username 或者你自定义用户模型中对应的姓名字段。

内容的提问来源于stack exchange,提问作者dim0ntei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 10:48:00