删除Django GraphQL中的变异

问题描述 投票:1回答:1

Graphene-Django的docs几乎解释了如何创建和更新对象。但是如何删除呢?我可以想象查询看起来像

mutation mut{
  deleteUser(id: 1){
    user{
      username
      email
    }
    error
  }
}

但我怀疑正确的方法是从头开始编写后端代码。

django graphene-python
1个回答
3
投票

像这样的东西,其中UsersMutations是你的架构的一部分:

class DeleteUser(graphene.Mutation):
    ok = graphene.Boolean()

    class Arguments:
        id = graphene.ID()

    @classmethod
    def mutate(cls, root, info, **args):
        obj = User.objects.get(args["id")])
        obj.delete()
        return cls(ok=True)


class UserMutations(object):
    delete_user = DeleteUser.Field()
© www.soinside.com 2019 - 2024. All rights reserved.