Django Graphql正在尝试创建get_user_模型的对象:uu init_uuu()获取了意外的关键字参数';请求';
我最近开始学习GraphQL。我为一个自定义模型创建了一个变种,它运行良好。但当我尝试对Django内置用户模型执行相同操作时。我有个错误。无法解决它。 我试图通过GraphQL创建get_user_模型的对象来创建一个新用户Django Graphql正在尝试创建get_user_模型的对象:uu init_uuu()获取了意外的关键字参数';请求';,django,python-3.x,graphql,graphene-python,graphene-django,Django,Python 3.x,Graphql,Graphene Python,Graphene Django,我最近开始学习GraphQL。我为一个自定义模型创建了一个变种,它运行良好。但当我尝试对Django内置用户模型执行相同操作时。我有个错误。无法解决它。 我试图通过GraphQL创建get_user_模型的对象来创建一个新用户 class CreateUser(graphene.Mutation): user = graphene.Field(UserType) class Arguments: username = graphene.String(required=True)
class CreateUser(graphene.Mutation):
user = graphene.Field(UserType)
class Arguments:
username = graphene.String(required=True)
password = graphene.String(required=True)
email = graphene.String(request=True)
def mutate(self,info,username,password,email):
user = get_user_model(username=username,email=email)
user.set_password(password)
user.save()
return CreateUser(user=user)
class Mutation(graphene.ObjectType):
create_user = CreateUser.Field()
获取上述错误。不确定是什么问题。请任何人解释一下
回溯错误:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/graphql/
Django Version: 3.0.3
Python Version: 3.6.1
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'graphene_django',
'links']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/django/views/generic/base.py", line 62, in view
self = cls(**initkwargs)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene_django/views.py", line 79, in __init__
schema = graphene_settings.SCHEMA
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene_django/settings.py", line 117, in __getattr__
val = perform_import(val, attr)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene_django/settings.py", line 56, in perform_import
return import_from_string(val, setting_name)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene_django/settings.py", line 70, in import_from_string
module = importlib.import_module(module_path)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
<source code not available>
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
<source code not available>
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
<source code not available>
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
<source code not available>
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
<source code not available>
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
<source code not available>
File "/Users/sunilhn/Documents/programming/django_fs/myDjangoProjects/graphqlhackernews/graphqlhackernews/schema.py", line 3, in <module>
import users.schema
File "/Users/sunilhn/Documents/programming/django_fs/myDjangoProjects/graphqlhackernews/users/schema.py", line 29, in <module>
class Mutation(graphene.ObjectType):
File "/Users/sunilhn/Documents/programming/django_fs/myDjangoProjects/graphqlhackernews/users/schema.py", line 30, in Mutation
create_user = CreateUser.Field()
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene/types/mutation.py", line 146, in Field
required=required,
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene/types/field.py", line 103, in __init__
self.args = to_arguments(args or OrderedDict(), extra_args)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene/types/argument.py", line 94, in to_arguments
arg = Argument.mounted(arg)
File "/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site-packages/graphene/types/mountedtype.py", line 19, in mounted
**unmounted.kwargs
Exception Type: TypeError at /graphql/
Exception Value: __init__() got an unexpected keyword argument 'request'
环境:
请求方法:获取
请求URL:http://127.0.0.1:8000/graphql/
Django版本:3.0.3
Python版本:3.6.1
已安装的应用程序:
['django.contrib.admin',
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“石墨烯”,
“链接”]
已安装的中间件:
['django.middleware.security.SecurityMiddleware',
“django.contrib.sessions.middleware.SessionMiddleware”,
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xframeoptions中间件']
回溯(最近一次呼叫最后一次):
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/django/core/handlers/exception.py”,第34行,在内部
响应=获取响应(请求)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/django/core/handlers/base.py”,第115行,在“获取”响应中
response=self.process\u异常\u由\u中间件(e,请求)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/django/core/handlers/base.py”,第113行,在“get”响应中
响应=包装的回调(请求,*回调参数,**回调参数)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/django/views/decorators/csrf.py”,第54行,包装视图
返回视图函数(*args,**kwargs)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/django/views/generic/base.py”,第62行,视图中
self=cls(**initkwargs)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene\u django/views.py”,第79行,在__
schema=graphene\u settings.schema
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene\u django/settings.py”,第117行,在__
val=执行导入(val,attr)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene\u django/settings.py”,第56行,执行导入
从字符串返回导入字符串(val,设置名称)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene\u django/settings.py”,第70行,从字符串导入
模块=导入lib.import\u模块(模块路径)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/importlib/__init__.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第978行,在_gcd_import中
文件“”,第961行,在“查找”和“加载”中
文件“”,第950行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
exec_模块中第678行的文件“”
文件“”,第205行,在调用中删除了帧
文件“/Users/sunilhn/Documents/programming/django_fs/myDjangoProjects/graphqlhackernews/graphqlhackernews/schema.py”,第3行,在
导入users.schema
文件“/Users/sunilhn/Documents/programming/django_fs/myDjangoProjects/graphqlhackernews/Users/schema.py”,第29行,在
类突变(graphene.ObjectType):
文件“/Users/sunilhn/Documents/programming/django_fs/myDjangoProjects/graphqlhackernews/Users/schema.py”,第30行,第1行
create_user=CreateUser.Field()
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene/types/mutation.py”,第146行,在字段中
必需的=必需的,
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene/types/field.py”,第103行,在__
self.args=to_参数(args或orderedict(),额外_参数)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene/types/argument.py”,第94行,在to_arguments中
arg=Argument.mounted(arg)
文件“/Users/sunilhn/Documents/programming/Envs/graphenv/lib/python3.6/site packages/graphene/types/mountedtype.py”,第19行,已装入
**未安装的kwargs
异常类型:TypeError位于/graphql/
异常值:\uuuu init\uuuuu()获取了意外的关键字参数“request”
解决了这个问题。在定义email参数时有输入错误,而不是将其作为请求输入。它正在工作。你好,Sunil我看到你正在创建一个“创建用户”变异,你可以尝试使用。它确实提供了使用graphql的用户注册以及更多功能。@Pedroburn感谢您提供的信息。我会调查的。