使用 django-graphene 时出现错误
I get an error when using django-graphene
我正在尝试使用 graphene-django 创建一个 graphql 模式。
我正在使用 python3.5 和 graphene==1.4.1 和 graphene-django==1.3
这是我的模块:
class category(models.Model):
QUESTION = 'Q'
SOLUTION = 'S'
UNKNOWN = 'U'
CATEGORY_CHOICE = (
('quiz', (
(QUESTION, 'Question'),
(SOLUTION, 'Solution'),
)
),
(UNKNOWN, 'Unknown'),
)
name = models.CharField(max_length=1, choices=CATEGORY_CHOICE)
image = models.ImageField(upload_to='uploads/category/', default='anonymous.jpg')
这是我的架构:
class Query(graphene.AbstractType):
category = graphene.Field(categoryType, id=graphene.Int())
def resolve_category(self, info, **kwargs):
id = kwargs.get('id')
if id is not None:
return models.category.objects.get(pk=id)
return None
和:
class Query(graphene.ObjectType, schema.Query):
pass
schema = graphene.Schema(query=Query)
使用此查询:
query{
category(id: 1){
id
}
}
我收到这个错误:
{
"errors": [
{
"locations": [
{
"line": 2,
"column": 3
}
],
"message": "resolve_category() takes 2 positional arguments but 4 were given"
}
],
"data": {
"category": null
}
}
感谢您的帮助。
顺便说一句,我已经使用了这个教程:
http://docs.graphene-python.org/projects/django/en/latest/tutorial-plain/#getting-single-objects
该文档引用了 2.0 版的石墨烯,其中删除了一些参数。 django 包的主要版本也受到影响。升级两者:
pip install "graphene>=2.0.dev"
pip install "graphene-django>=2.0.dev"
我正在尝试使用 graphene-django 创建一个 graphql 模式。 我正在使用 python3.5 和 graphene==1.4.1 和 graphene-django==1.3
这是我的模块:
class category(models.Model):
QUESTION = 'Q'
SOLUTION = 'S'
UNKNOWN = 'U'
CATEGORY_CHOICE = (
('quiz', (
(QUESTION, 'Question'),
(SOLUTION, 'Solution'),
)
),
(UNKNOWN, 'Unknown'),
)
name = models.CharField(max_length=1, choices=CATEGORY_CHOICE)
image = models.ImageField(upload_to='uploads/category/', default='anonymous.jpg')
这是我的架构:
class Query(graphene.AbstractType):
category = graphene.Field(categoryType, id=graphene.Int())
def resolve_category(self, info, **kwargs):
id = kwargs.get('id')
if id is not None:
return models.category.objects.get(pk=id)
return None
和:
class Query(graphene.ObjectType, schema.Query):
pass
schema = graphene.Schema(query=Query)
使用此查询:
query{
category(id: 1){
id
}
}
我收到这个错误:
{
"errors": [
{
"locations": [
{
"line": 2,
"column": 3
}
],
"message": "resolve_category() takes 2 positional arguments but 4 were given"
}
],
"data": {
"category": null
}
}
感谢您的帮助。 顺便说一句,我已经使用了这个教程: http://docs.graphene-python.org/projects/django/en/latest/tutorial-plain/#getting-single-objects
该文档引用了 2.0 版的石墨烯,其中删除了一些参数。 django 包的主要版本也受到影响。升级两者:
pip install "graphene>=2.0.dev"
pip install "graphene-django>=2.0.dev"