我们运行一个高度依赖位置的应用程序。所以,我们有五个模型:国家,省,区,部门,单元和村庄:从五个顶部到底部的相关表格创建JSON
我想要的是生成一个代表它们的JSON。我尝试过的东西很长,但是我注意到,因为结构是一样的,模块的一大块会显示我的问题。
所以,每个单元可以有multipe村庄里面:
cells=database.bring('SELECT id,name FROM batteries_cell WHERE sector_id=' + str(sectorID))
if cells:
for cell in cells:
cellID=cell[0]
cellName=cell[1]
cell_pro={'id':cellID,'name':cellName,'villages':{}}
villages=database.bring('SELECT id,name FROM batteries_village WHERE cell_id=' + str(cellID))
if villages:
for village in villages:
villageID=village[0]
villageName=village[1]
village_pro={'id':villageID, 'name':villageName}
cell_pro['villages'].update(village_pro)
但是,更新只存储每个单元的最后一个村庄。任何想法我做错了,因为我一直在尝试和删除不同的方式结束在相同的结果。
UPDATE需要输出为:
[
{
"id": 1,
"name": "Ethiopia",
"villages": [{
"vid": 1,
"vname": "one"
},
{
"vid": 2,
"vname": "village two"
}
]
},
{
"id": 2,
"name": "Sene",
"villages": [{
"vid": 3,
"vname": "third"
},
{
"vid": 4,
"vname": "fourth"
}
]
}
]
这会给我一个JSON结构,不适合目的和坦率地说,我失去了为什么当我在一个特定的单元格和更新只有村庄的关键,这恰好是一本字典的行为。无论如何感谢伊沃。 –
@NieSelam我在答案中添加了更多信息。如果这不会产生你想要的输出,让我知道你想要JSON的样子,我会告诉你如何得到它。 – ivo
lemme在问题中添加需要的输出@ivo –