【发布时间】:2018-09-19 02:21:50
【问题描述】:
我正在尝试通过 django-graphene 提供 graphql 端点。我有以下型号:
class BaseModel(models.Model):
fk = models.ForeignKey(MainModel, related_name='bases')
base_info = models.CharField(...)
class ChildModel(BaseModel):
name = models.CharField(...)
MainModel 是我的中心数据模型。 ChildModel 有几个变种,解释了这里使用的多表继承。
我已经能够使用此架构声明来处理事情:
class BaseModelType(DjangoObjectType):
class Meta:
model = BaseModel
class ChildModelType(DjangoObjectType):
class Meta:
model = ChildModel
class MainModelType(DjangoObjectType):
class Meta:
model = MainModel
允许以下 graphQL 查询:
{
mainModel(id: 123) {
id
bases {
id
baseInfo
childmodel {
id
name
}
}
}
}
但是,我想以 Django 理解继承的方式将其展平,以便我可以像这样查询数据:
{
mainModel(id: 123) {
id
bases {
id
baseInfo
name <--- this field from the child is now on the base level
}
}
}
我怀疑答案在于我如何声明ChildModelType,但我无法弄清楚。任何提示表示赞赏!
【问题讨论】:
标签: python django graphql graphene-python