【发布时间】:2016-06-29 07:21:08
【问题描述】:
桌子:
categories = Table("categories", metadata,
Column("id", Integer, primary_key=True),
Column("name", String),
Column("parent_id", Integer, ForeignKey("categories.id"),
CheckConstraint('id!=parent_id'), nullable=True),
)
一个类别可以有多个子级,但只有一个父级。我使用 CTE 获得了如下字典值列表:例如。对于 id :14,parent 是 13,并且从 parent 8->10->12->13->14 遍历,其中 parent 8 没有 parent id。
[
{
"id": 14,
"name": "cat14",
"parent_id": 13,
"path_info": [
8,
10,
12,
13,
14
]
},
{
"id": 15,
"name": "cat15",
"parent_id": 13,
"path_info": [
8,
10,
12,
13,
15
]
}
]
我想将父级的属性也作为子类别嵌入到列表中:
{
"id": 14,
"name": "cat14",
"parent_id": 13,
"subcats": [
{
"id: 8",
"name": "cat8",
"parent_id":null
},
{
"id: 10",
"name": "cat10",
"parent_id":8
},
{
"id: 12",
"name": "cat12",
"parent_id":10
},
and similarly for ids 13 and 14.....
]
},
{
"id": 15,
"name": "cat15",
"parent_id": 13,
"subcats": [
{
"id: 8",
"name": "cat8",
"parent_id":null
},
{
"id: 10",
"name": "cat10",
"parent_id":8
},
{
"id: 12",
"name": "cat12",
"parent_id":10
},
and similarly for ids 13, 14, 15.....
]
}
] 请注意,'path_info' 已从字典中删除,并且每个 id 都已显示其详细信息。我想要具有上述缩进格式的 json 转储。怎么走?使用烧瓶 0.10、python 2.7
【问题讨论】: