Связи (Connection)

Связь Connectionэто улучшенная версия списка List, которая дает возможность делать пагинацию и слайсинг.

Связь Connection создается с помощью relay.Connection и relay.ConnectionField.

Пример

Если мы хотим создать связь Connectionс некоторым узлом, то необхоимо создать подкласс Connection.

В следующем примере extra будет дополнительным полем в Connection, а other дополнительным полем в Connection Edge.

class ShipConnection(Connection):
    extra = String()

    class Meta:
        node = Ship

    class Edge:
        other = String()

КлассShipConnection будет иметь полеpageInfoи полеedges(список объектовShipConnection.Edge). ОбъектEdgeбудет иметь поле node, связанное с определенным узлом (в ShipConnection.Meta) и полеother, которое мы определяли в классе.

Поле связи (Connection Field)

Вы можете создавать поля в любом Connection, а любой ObjectType, который реализуетNode, будет иметь Connection по дефолту.

class Faction(graphene.ObjectType):
    name = graphene.String()
    ships = relay.ConnectionField(ShipConnection)

    def resolve_ships(self, info):
        return []

results matching ""

    No results matching ""