有这个突变
class AddStudentMutation(graphene.Mutation):
class Arguments:
input = StudentInputType()
student = graphene.Field(StudentType)
@classmethod
@staff_member_required
def mutate(cls, root, info, input):
try:
_student = Student.objects.create(**input)
except IntegrityError:
raise Exception("Student already created")
return AddStudentMutation(student=_student)
在执行上述突变之前graphiql
,我添加了请求标头"Authorization": "JWT <token>"
,以便对用户进行授权。但我得到了错误graphql.error.located_error.GraphQLLocatedError: 'NoneType' object has no attribute 'fields'
。删除标题时不会发生错误。当我将它包含在查询请求中时,它也可以正常工作。难道我做错了什么?我也需要授权才能发生突变。
我跟踪了 Traceback,它导致了 file .../site-packages\graphql_jwt\middleware.py
。看来这是功能allow_any()
行 18中的包中的错误field = info.schema.get_type(operation_name).fields.get(info.field_name)
。新手,我需要帮助。
我正在使用graphene-django==2.15.0
和django-graphql-jwt==0.3.4