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

Django GraphQL AssertionError:AuthorType.Meta未传入有效模型

问题解决:AssertionError: You need to pass a valid Django Model in AuthorType.Meta, received "None"

核心错误修复

你遇到的错误是AuthorType的Meta类中属性名拼写错误:把model写成了models,导致graphene无法识别关联的Django模型。

修复后的AuthorType代码:

class AuthorType(DjangoObjectType):
    class Meta:
        model = models.Profile  # 此处将models改为model

额外的两处潜在问题修复

除核心错误外,代码还有两个小问题需要修正,避免后续出现异常:

  1. Post模型的body字段定义错误
    Post模型中body = models.TextField缺少括号,应改为:

    body = models.TextField()
    
  2. Query中的拼写错误
    Query里的posts_bt_tag是笔误,应为posts_by_tag,对应的解析方法名也要同步修改:

    class Query(graphene.ObjectType):
        # 其他字段保持不变
        posts_by_tag = graphene.List(PostType, tag=graphene.String())  # 修正bt为by
    
        # 其他解析方法保持不变
        def resolve_posts_by_tag(root, info, tag):  # 修正方法名
            return (
                models.Post.objects.prefetch_related("tags")
                .select_related("author")
                .filter(tags__name__iexact=tag)
            )
    

完成以上修改后,重启服务即可正常访问/graphql端点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 14:23:24