我从在线示例和教程中构建了我的第一个GraphQL API,但是想知道为什么某些事情是用Python完成的。
我不理解的课程片段:
class UpdateRegion(graphene.Mutation):
"""Update a region."""
region = graphene.Field(lambda: Region, description="Region updated by this mutation.")
...
Region类:
class Region(SQLAlchemyObjectType):
class Meta:
model = RegionModel
interfaces = (relay.Node, )
为什么它们将Region
类作为lambda函数传递?
对我来说lambda: Region
与f():return Region
答案 0 :(得分:0)
对我来说
lambda: Region
与f():return Region
相同
对于初学者来说,f():return Region
是无效的语法。这当然可以解决:
def f():
return Region
region = graphene.Field(f, ...)
这将起作用,并且大致等效于region = graphene.Field(lambda: Region, ...)
。后者更短并且可以说更清晰。