【发布时间】:2020-04-14 13:04:40
【问题描述】:
我想问一下如何使用 Graphen Relay 和 Django JWT 对特定用户(所有者)进行身份验证和查询标签。 这是我的模型:
class Tag(models.Model):
"""Tag to be used for a objective"""
name = models.CharField(max_length=255)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
related_name='tag',
on_delete=models.CASCADE,
)
这是我的架构代码:
class TagNode(DjangoObjectType):
class Meta:
model = Tag
filter_fields = ['name']
interfaces = (relay.Node,)
这是我的查询:
class Query(graphene.ObjectType):
tag = relay.Node.Field(TagNode)
all_tags = DjangoFilterConnectionField(TagNode)
def resolve_all_tags(self, info):
# context will reference to the Django request
print(info.context.user)
if not info.context.user.is_authenticated:
return Tag.objects.none()
else:
return Tag.objects.filter(user=info.context.user)
这是 Django JWT 的文档:https://github.com/flavors/django-graphql-jwt 但我不知道如何获取用户(已经使用 info.context.user)但它不起作用, 当我尝试在标头中添加授权(JWT 令牌)或作为参数时。它也不起作用。
【问题讨论】:
标签: python django graphql jwt relay