如何在石墨烯方案中使用manyToMany关系?

问题描述

我正在尝试在Django中执行graphql查询。我的manuToManu关系有问题。我可以寻求帮助吗?我不知道哪里出问题了。

用Python编写的部分

models.py

class Topping(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)

    def __str__(self):
        return self.name

class Pizza(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)
    toppings = models.ManyToManyField(Topping)

schema.py

class Query(graphene.ObjectType):
    pizza = graphene.List(PizzaType)
    topping = graphene.List(ToppingType)

    @staticmethod
    def resolve_pizza(parent,info):
        return Pizza.objects.all()

    @staticmethod
    def resolve_topping(parent,info):
        return Topping.objects.all()

types.py

class ToppingType(graphene.ObjectType):
    id = graphene.NonNull(graphene.Int)
    name = graphene.NonNull(graphene.String)

class PizzaType(graphene.ObjectType):
    id = graphene.NonNull(graphene.Int)
    name = graphene.NonNull(graphene.String)
    toppings = graphene.List(ToppingType)

用Graphql编写的零件

查询graphql

query {
  pizza{
    name
    toppings {
      name
    }
  }
}

响应图ql

{
  "errors": [
    {
      "message": "User Error: expected iterable,but did not find one for field PizzaType.toppings."
    }
  ],"data": {
    "pizza": [
      {
        "name": "mafia","toppings": null
      }
    ]
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)