Я пытаюсь вернуть данные в Django модель, из Overpass API JSON данные после загрузки
"elements": [
{
"type": "node",
"id": 662934404,
"lat": 35.572157,
"lon": 45.3898839,
"tags": {
"addr:postcode": "46001",
"name": "City Center",
"name:en": "City Center Mall",
"name:ku": "City Center Mall",
"shop": "mall",
"website": "http://www.citycentersul.com"
}
},
{
"type": "node",
"id": 2413990402,
"lat": 35.5014386,
"lon": 45.4457576,
"tags": {
"addr:city": "sulaymaniyah",
"designation": "ASSAN",
"name": "ASSAN STEEL CO.",
"opening_hours": "3 min",
"shop": "doityourself",
"source": "ASSAN Steel Company General Trading Co, Ltd"
},
{
"type": "node",
"id": 2414374708,
"lat": 35.506121,
"lon": 45.4417229,
"tags": {
"addr:city": "sulaymaniyah",
"name:ku": "ASSAN Steel Company General Trading Co, Ltd",
"shop": "doityourself",
}
},
, но некоторые данные не имеют обоих вместе name , name:ku ,name:en
, так что Должен ли я сделать, если name нет, то вернуть имя: ku, если оно существует, тогда name: en
Я пробовал это, но не работает
with open('data.json') as datafile:
objects = json.load(datafile)
for obj in objects['elements']:
try:
objType = obj['type']
if objType == 'node':
tags = obj['tags']
name = tags.get('name')
if not name:
name = tags.get('name:en')
elif not name:
name = tags.get('name:ku')
elif not name:
name = tags.get('name:ar')
else:
name = tags.get('shop','no-name')
Есть ли что-то еще, что я пропущенный? спасибо за помощь