在graphene-django中,可以通过以下步骤仅向用户配置文件所有者显示特定字段:
import graphene
class UserProfileType(graphene.ObjectType):
id = graphene.ID()
username = graphene.String()
email = graphene.String()
# 添加其他字段
# 定义一个方法,用于判断当前用户是否为配置文件所有者
def resolve_is_owner(self, info):
user = info.context.user
return self.user == user
class Query(graphene.ObjectType):
user_profile = graphene.Field(UserProfileType)
def resolve_user_profile(self, info):
user = info.context.user
if user.is_authenticated:
return user.profile
return None
schema = graphene.Schema(query=Query)
from graphene_django.views import GraphQLView
urlpatterns = [
# 其他URL配置
path('graphql/', GraphQLView.as_view(graphiql=True, schema=schema)),
]
现在,当用户发出GraphQL查询请求时,只有配置文件所有者才能看到特定字段。其他用户将无法看到这些字段。
注意:以上代码示例仅为演示目的,实际使用时需要根据项目的具体需求进行适当的修改。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)等。你可以在腾讯云官网上找到这些产品的详细介绍和文档链接。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云