我正在使用Django Rest框架和Django多态树构建一个类似于树的分层数据库系统。我有两个模型-BaseTreeNode和DescriptionNode(后者是从BaseTreeNode派生的)。具体来说,我的models.py
:
class BaseTreeNode(PolymorphicMPTTModel):
parent = PolymorphicTreeForeignKey('self', blank=True, null=True, related_name='children', verbose_name=_('parent'))
title = models.CharField(_("Title"), max_length=200)
def __str__(self):
return "{}>{}".format(self.parent, self.title)
class Meta(PolymorphicMPTTModel.Meta):
verbose_name = _("Tree node")
verbose_name_plural = _("Tree nodes")
# Derived model for the tree node:
class DescriptionNode(BaseTreeNode):
description = models.CharField(_("Description"), max_length=200)
class Meta:
verbose_name = _("Description node")
verbose_name_plural = _("Description nodes")
因此,每个title
字段(属于BaseTreeNode
)都有一个关联的description
字段(属于DescriptionNode)。在
现在,我只想要一个JSON,它返回整个树的嵌套表示。 目前,我只定义了一个带有递归字段的简单序列化程序。 我的序列化程序.py在
^{pr2}$这给了我(仅限BaseTreeNodeSerializer):
[
{
"id": 1,
"title": "Apple",
"subcategories": [
{
"id": 2,
"title": "Contact Person",
"subcategories": []
},
{
"id": 3,
"title": "Sales Stage",
"subcategories": [
{
"id": 4,
"title": "Suspecting",
"subcategories": [
{
"id": 5,
"title": "Contact verification",
"subcategories": []
}
]
},
{
"id": 6,
"title": "Prospecting",
"subcategories": [
{
"id": 7,
"title": "Client Detail",
"subcategories": []
}
]
}
]
},
{
"id": 9,
"title": "Medium",
"subcategories": [
{
"id": 10,
"title": "Status",
"subcategories": []
}
]
},
{
"id": 13,
"title": "Remainder",
"subcategories": []
}
]
}
]
我的问题是,如何包含与层次结构中每个单独的description
字段(来自于BaseTreeNode模型)关联的description
字段?
比如:
... {
"id": 5,
"title": "Contact verification",
"description": "Verified"
"subcategories": []
} ...
相应的模型如下:
序列化程序如下:
^{pr2}$相关问题 更多 >
编程相关推荐