问题描述
我已经定义了以下graphql模式来创建非活动用户
from .models import User,UserManager
import graphene
from graphene_django import DjangoObjectType
class UserType(DjangoObjectType):
class Meta:
model = User
class PreSignupInput(graphene.InputObjectType):
email = graphene.String(required=True)
terms_of_use = graphene.Boolean(required=True)
class PreSignup(graphene.Mutation):
class Arguments:
pre_signup_data = PreSignupInput(required=False)
user = graphene.Field(UserType)
def mutate(self,info,user_data=None):
user = UserManager().create_inactive_user_with_email(user_data.email,user_data.terms_of_use)
return PreSignup(user=user)
class Mutation(graphene.ObjectType):
pre_signup = PreSignup.Field()
User 类在配置中也定义为AUTH_USER_MODEL, create_inactive_user_with_email 创建User的实例,将其保存到数据库并返回。
每当我运行以下测试时:
from graphene_django.utils.testing import GraphQLTestCase
class UserSchemaTest(GraphQLTestCase):
def test_create_inactive_user(self):
response = self.query(
'''
mutation preSignup($input: PreSignupInput!) {
preSignup(input: $input) {
user {
id
email
}
}
}
''',op_name='preSignup',input_data={'email': '[email protected]','terms_of_use': True}
)
print(response.json())
self.assertResponseNoErrors(response)
{
'errors': [
{'message': 'UnkNown argument "input" on field "preSignup" of type "Mutation".','locations': [{'line': 3,'column': 27}]}]
}
我有什么想念的吗?我用this tutorial做测试。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)