【发布时间】:2022-01-27 07:09:34
【问题描述】:
我在 python 中使用strawberry-graphql,并且有一个返回User列表的查询
@strawberry.type
class User:
email: str
name: str
def get_user():
items = get_from_database()
return items
@strawberry.type
class Query:
all_user: List[User] = strawberry.field(resolver=get_user)
schema = strawberry.Schema(Query)
它工作正常,但我想要一些额外的属性,比如total_item:
def get_user():
items = get_from_database()
return {
'items': items
'total_item': len(items)
}
在上面的代码中,Strawberry 将 dict 转换为字符串,所以它不起作用。我尝试创建模式:
@strawberry.type
class User:
email: str
name: str
@strawberry.type
class GetUserResult:
items: List[User]
item_count: int
def get_user():
items = get_from_database()
return GetUserResult(
items = items
item_count = len(items)
)
但它说查询必须返回一个可迭代的 (Expected Iterable, but did not find one for field 'Query.allUser'.)。
有什么办法吗?
【问题讨论】:
标签: python graphql strawberry-graphql