Relay 石墨烯中的自定义连接场
我不明白如何在石墨烯的连接字段中使用自定义字段。我有点像:Relay 石墨烯中的自定义连接场,relay,graphene-python,Relay,Graphene Python,我不明白如何在石墨烯的连接字段中使用自定义字段。我有点像: class ShipConnection(Connection): extra = String() class Meta: node = Ship SHIPS = ['Tug boat', 'Row boat', 'Canoe'] class Query(AbstractType): ships = relay.ConnectionField(ShipConnection) de
class ShipConnection(Connection):
extra = String()
class Meta:
node = Ship
SHIPS = ['Tug boat', 'Row boat', 'Canoe']
class Query(AbstractType):
ships = relay.ConnectionField(ShipConnection)
def resolve_ships(self, args, context, info):
return ShipConnection(
extra='Some extra text',
edges=???
)
通常,你会说:
def resolve_ships(self, args, context, info):
return SHIPS
但是如何返回额外的内容并返回列表呢?答案是使用graphene的ConnectionField类的一个未记录的类方法,称为resolve_connection。以下工作:
def resolve_ships(self, args, context, info):
field = relay.ConnectionField.resolve_connection(
ShipConnection,
args,
SHIPS
)
field.extra = 'Whatever'
return field