Я подписался на https://strawberry.rocks/docs/guides/federation с помощью Vendor и Product как классы вместо Book и Review... взятые из подграфов Vendor и Product. В подграфе product хранятся ссылки на поставщиков (по одной на каждый продукт)...
Я также следовал примеру в https://www.apollographql.com/docs/graphos/ ссылка/федерация/директивы после того, как вышеизложенное не сработало напрямую, если быть более явным. Проблема исходит от службы продукта, и имеет отношение следующий фрагмент: https://play.strawberry.rocks/?gist=bc4 ... 0573d91cb0
Код: Выделить всё
@strawberry.type(
directives=[
Key(fields=["id"]), # Vendor:
return Vendor(id=root.vendor_id)
@strawberry_django.type(
models.Product,
description="...",
filters=ProductFilter,
pagination=True,
directives=[Key(fields="id")]
)
class Product:
id: strawberry.ID
vendor_id: strawberry.Private[strawberry.ID]
vendor: Vendor = strawberry.field(
resolver=get_product_vendor,
directives=[Provides(fields=["id"])] #
Подробнее здесь: [url]https://stackoverflow.com/questions/79119540/strawberry-graphql-federation-typeerror-cannot-convert-value-to-ast-id[/url]