`op_name` parameter for `graphene_django`



django石墨烯文档显示了这样一个测试示例:

class MyFancyTestCase(GraphQLTestCase):
def test_some_query(self):
response = self.query(
'''
query {
myModel {
id
name
}
}
''',
op_name='myModel'
)
content = json.loads(response.content)
# This validates the status code and if you get errors
self.assertResponseNoErrors(response)
# Add some more asserts if you like
...

他们没有任何API文档说明op_name是什么,以及我们应该将其设置为什么。我试图将其设置为我的查询名称,但得到错误:

[{'message': 'Unknown operation named "myQuery".'}]

仅在查询字符串中有多个操作时需要输入操作名。您只有一个操作,所以默认值(None)是可以的。

https://docs.graphene-python.org/en/latest/execution/execute/操作名称

根据我的评论:

如果查询是突变查询或命名查询,则必须提供op_name。对于非查询("{…}"),应该是None(默认)

我不知道如何创建一个"命名的查询"与django石墨烯,但显然我的查询不是一个命名的查询。留下op_name作为None让我的查询通过我的单元测试工作。

最新更新