Bảng:Tạo bãi json thứ bậc từ danh sách các từ điển trong python
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),
)
Một loại có thể có nhiều trẻ em, nhưng chỉ có 1 phụ huynh. Tôi đã có danh sách các giá trị từ điển như sau bằng cách sử dụng CTE: ví dụ. Đối với id: 14, cha mẹ là 13 và đi qua từ cha mẹ 8-> 10-> 12-> 13-> 14, nơi phụ huynh 8 không có id mẹ.
[
{
"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
]
}
]
Tôi muốn để có được các thuộc tính của phụ huynh cũng nhúng như tiểu thể loại trong danh sách như:
{
"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.....
]
}
] Chú ý rằng 'PATH_INFO' đã bị xóa khỏi từ điển và mỗi id có được hiển thị với các chi tiết của nó. Tôi muốn json bãi với định dạng thụt lề trên. Làm thế nào để đi về? Sử dụng bình 0.10, python 2.7