首先,GraphQL的Saleor是很棒的。就爱它吧。
我们正在销售的产品还需要从Graphql获得额外的元数据。在开箱即用的情况下,Graphql查询工作正常,例如:
{
product (id: "UHJvZHVjdDo3Mg==") {
id
name
description
}
}我需要做的是用附加列(如productInfo1、productInfo2和productInfo3 )从我的products表中公开数据。当然,这部分很容易。
但是,我很难更新Saleor Graphql,这样我就可以运行如下查询:
{
product (id: "UHJvZHVjdDo3Mg==") {
id
name
description {
productInfo1
productInfo2
productInfo3
}
}
}我看过Saleor文档、堆栈溢出和各种博客.我自己也尝试过一些合乎逻辑的方法,但没有成功。
为了满足我们的需要,我很想开始研究这些类型的更新。任何建议或链接到“如何”的地点将不胜感激!
发布于 2019-05-22 21:40:19
如果您想在描述中添加子字段,那么您必须做几件事:
class ProductDescription(graphene.ObjectType):
productInfo1 = graphene.String()
productInfo2 = graphene.String()
productInfo3 = graphene.String()description类型下设置Product字段:class Product(CountableDjangoObjectType):
...
description = graphene.Field(ProductDescription)description类型下为Product添加解析器:def resolve_description(self, info):
return ProductDescription(
productInfo1=self.description,
productInfo2='Some additional info',
productInfo3='Some more additional info',
)Saleor的GraphQL API基于石墨烯框架。您可以在这里找到更多有关解析器和对象类型的信息:https://docs.graphene-python.org/en/latest/types/objecttypes/#resolvers。
https://stackoverflow.com/questions/56259396
复制相似问题