我想知道,如果有一种方法可以传递更多的参数,以便在石墨烯GraphQl解析器中查询。
所以这段代码只适用于wgr_bez
:
class GraphqlService(graphene.ObjectType):
get_single_article = graphene.Field(ArticleGrapheneModel, wgr_bez=graphene.String)
@staticmethod
async def resolve_get_single_article(parent, info, **kwargs):
article = await info.context['request'].state.db.select_article_with_filter(kwargs)
return article[0][0].to_json()
使用**kwargs,我可以从请求中获得任何列:值对,但如何传递任何列:值,我不明白。
我希望能够用更通用的东西或者至少是字典来代替它。我在文档中看到了它,但是当我这样做时,我得到了一个错误:
get_single_article = graphene.Field(ArticleGrapheneModel, {'wgr_bez': graphene.String, 'id': graphene.Int})
ValueError: Unknown argument "wgr_bez".
我找到了一个答案,一个人需要定义如下参数:
get_single_article = graphene.Field(ArticleGrapheneModel, args={'wgr_bez': graphene.Argument(graphene.String),
'id': graphene.Argument(graphene.Int)})