我正在用 Python、GraphQL (graphene-django) 和 Django 构建一个简单的 CRUD 接口。Ingredient包含与另一个对象 ( Category) 的外键关系的对象 ( )的 CREATE 突变将不起作用。我想为 GraphQL 提供 CategoryObject 的 id 而不是整个类别实例。然后在后端它应该绘制与 Category 对象的关系。
在 Django 模型中,成分对象包含外键类别对象的一个实例(参见下面的代码)。这里是否需要整个类别对象来绘制关系并使用Ingredient.objects.select_related('category').all()?
create 突变期望IngredientInput包括外键关系的所有属性和整数字段。因此,graphQL 突变本身目前可以按照我的意愿工作。
我的问题与这个问题相似,但这些答案对我没有帮助。
模型.py:
class Category(models.Model):
name = models.CharField(max_length=50, unique=True)
notes = models.TextField()
class Meta:
verbose_name = u"Category"
verbose_name_plural = u"Categories"
ordering = ("id",)
def __str__(self):
return self.name
class Ingredient(models.Model):
name = models.CharField(max_length=100)
notes = models.TextField()
category = models.ForeignKey(Category, on_delete=models.CASCADE)
class Meta:
verbose_name = …Run Code Online (Sandbox Code Playgroud)