2017-09-12 9 views
0

グラフェンのConnectionFieldでカスタムフィールドを使用する方法を理解できません。私のようなものがあります:グラフェンのカスタムConnectionField

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 

が、どのようにあなたが余分なで何かを返すとリストを返すのですか?

答えて

1

答えはグラフェンのConnectionFieldクラスのドキュメント化されていないクラスメソッドresolve_connectionを使用することが判明しました。次の作品:

def resolve_ships(self, args, context, info): 
    field = relay.ConnectionField.resolve_connection(
     ShipConnection, 
     args, 
     SHIPS 
    ) 

    field.extra = 'Whatever' 
    return field 
関連する問題