【发布时间】:2019-04-26 11:07:30
【问题描述】:
如何使用 graphene-django 在 GraphQL 中创建自定义参数?
我目前在我的 schema.py 中有这个配置:
class Post(DjangoObjectType):
class Meta:
model = FeedPost
interfaces = (graphene.relay.Node,)
filter_fields = ['id']
class Query(graphene.ObjectType):
post = graphene.Node.Field(Post)
def resolve_post(self, info, **kwargs):
username = kwargs.get('username')
u = User.objects.get(username=username)
users_sources = FeedSource.objects.filter(user=u)
return FeedPost.objects.filter(feed__feedsource__in=users_sources).annotate(
source_title=F('feed__feedsource__title')
)
schema = graphene.Schema(query=Query)
但我无法弄清楚如何在“post”的实际 GraphQL 查询中将“用户名”作为必需参数。
【问题讨论】:
-
您可以选择添加
username作为Post输入类型的一部分,或者作为查询的另一个单独参数。由于您没有显示您的Post模型,因此尚不清楚用户名是否已经是其中的一部分。
标签: django graphql graphene-python