chat v2
fix parse cities
This commit is contained in:
SDE
2023-08-11 13:04:54 +03:00
parent 41d8cb50dc
commit 85db13c885

View File

@@ -178,8 +178,6 @@ def parse_data():
kwargs = {} kwargs = {}
if city_Dict['name:en']: if city_Dict['name:en']:
kwargs.update({'name_en': city_Dict['name:en']}) kwargs.update({'name_en': city_Dict['name:en']})
if city_Dict['name:ru']:
kwargs.update({'name_ru': city_Dict['name:ru']})
if country: if country:
kwargs.update({'country': country}) kwargs.update({'country': country})
@@ -189,10 +187,14 @@ def parse_data():
except City.DoesNotExist: except City.DoesNotExist:
print(f' - {city_Dict["name:en"]} не найдена в БД > добавляем') print(f' - {city_Dict["name:en"]} не найдена в БД > добавляем')
except Exception as e: except Exception as e:
cities = City.objects.filter(**kwargs)
if cities:
city = cities[0]
cities.exclude(id=city.id).delete()
else:
print(f'error = {str(e)}') print(f'error = {str(e)}')
if not city: # собираем данные
city_kwargs = { city_kwargs = {
'country': country, 'country': country,
@@ -203,13 +205,18 @@ def parse_data():
'geo_lon': str(city_Dict['@lon']), 'geo_lon': str(city_Dict['@lon']),
} }
if city_Dict['name:ru']:
kwargs.update({'name_ru': city_Dict['name:ru']})
city_kwargs.update(kwargs) city_kwargs.update(kwargs)
if 'area_id' in city_Dict: if 'area_id' in city_Dict:
city_kwargs.update({'area_id': city_Dict['area_id']}) city_kwargs.update({'area_id': city_Dict['area_id']})
if not city:
city = City.objects.create(**city_kwargs) city = City.objects.create(**city_kwargs)
else:
City.objects.filter(id=city.id).update(**city_kwargs)
if 'airports' in city_Dict: if 'airports' in city_Dict: