You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
338 lines
19 KiB
338 lines
19 KiB
import pydash as _;
|
|
from django.core.management import BaseCommand
|
|
|
|
_.map = _.map_;
|
|
_.filter = _.filter_
|
|
|
|
from common.models import Location
|
|
|
|
|
|
COUNTRIES = ('Азербайджан',
|
|
'Армения',
|
|
'Белоруссия',
|
|
'Казахстан',
|
|
'Киргизия',
|
|
'Молдавия',
|
|
'Россия',
|
|
'Таджикистан',
|
|
'Туркмения',
|
|
'Узбекистан')
|
|
|
|
REGIONS = (
|
|
('Республика Адыгея', 'Россия'),
|
|
('Республика Алтай', 'Россия'),
|
|
('Республика Башкортостан', 'Россия'),
|
|
('Республика Бурятия', 'Россия'),
|
|
('Республика Дагестан', 'Россия'),
|
|
('Республика Ингушетия', 'Россия'),
|
|
('Кабардино-Балкарская республика', 'Россия'),
|
|
('Республика Калмыкия', 'Россия'),
|
|
('Карачаево-Черкесская республика', 'Россия'),
|
|
('Республика Карелия', 'Россия'),
|
|
('Республика Коми', 'Россия'),
|
|
('Республика Крым', 'Россия'),
|
|
('Республика Марий Эл', 'Россия'),
|
|
('Республика Мордовия', 'Россия'),
|
|
('Республика Саха (Якутия)', 'Россия'),
|
|
('Республика Северная Осетия — Алания', 'Россия'),
|
|
('Республика Татарстан', 'Россия'),
|
|
('Республика Тыва', 'Россия'),
|
|
('Удмуртская республика', 'Россия'),
|
|
('Республика Хакасия', 'Россия'),
|
|
('Чеченская республика', 'Россия'),
|
|
('Чувашская республика', 'Россия'),
|
|
('Алтайский край', 'Россия'),
|
|
('Забайкальский край', 'Россия'),
|
|
('Камчатский край', 'Россия'),
|
|
('Краснодарский край', 'Россия'),
|
|
('Красноярский край', 'Россия'),
|
|
('Пермский край', 'Россия'),
|
|
('Приморский край', 'Россия'),
|
|
('Ставропольский край', 'Россия'),
|
|
('Хабаровский край', 'Россия'),
|
|
('Амурская область', 'Россия'),
|
|
('Архангельская область', 'Россия'),
|
|
('Астраханская область', 'Россия'),
|
|
('Белгородская область', 'Россия'),
|
|
('Брянская область', 'Россия'),
|
|
('Владимирская область', 'Россия'),
|
|
('Волгоградская область', 'Россия'),
|
|
('Вологодская область', 'Россия'),
|
|
('Воронежская область', 'Россия'),
|
|
('Ивановская область', 'Россия'),
|
|
('Иркутская область', 'Россия'),
|
|
('Калининградская область', 'Россия'),
|
|
('Калужская область', 'Россия'),
|
|
('Кемеровская область', 'Россия'),
|
|
('Кировская область', 'Россия'),
|
|
('Костромская область', 'Россия'),
|
|
('Курганская область', 'Россия'),
|
|
('Курская область', 'Россия'),
|
|
('Ленинградская область', 'Россия'),
|
|
('Липецкая область', 'Россия'),
|
|
('Магаданская область', 'Россия'),
|
|
('Московская область', 'Россия'),
|
|
('Мурманская область', 'Россия'),
|
|
('Нижегородская область', 'Россия'),
|
|
('Новгородская область', 'Россия'),
|
|
('Новосибирская область', 'Россия'),
|
|
('Омская область', 'Россия'),
|
|
('Оренбургская область', 'Россия'),
|
|
('Орловская область', 'Россия'),
|
|
('Пензенская область', 'Россия'),
|
|
('Псковская область', 'Россия'),
|
|
('Ростовская область', 'Россия'),
|
|
('Рязанская область', 'Россия'),
|
|
('Самарская область', 'Россия'),
|
|
('Саратовская область', 'Россия'),
|
|
('Сахалинская область', 'Россия'),
|
|
('Свердловская область', 'Россия'),
|
|
('Смоленская область', 'Россия'),
|
|
('Тамбовская область', 'Россия'),
|
|
('Тверская область', 'Россия'),
|
|
('Томская область', 'Россия'),
|
|
('Тульская область', 'Россия'),
|
|
('Тюменская область', 'Россия'),
|
|
('Ульяновская область', 'Россия'),
|
|
('Челябинская область', 'Россия'),
|
|
('Ярославская область', 'Россия'),
|
|
('Москва', 'Россия'),
|
|
('Санкт-Петербург', 'Россия'),
|
|
('Севастополь', 'Россия'),
|
|
('Еврейская автономная область', 'Россия'),
|
|
('Ненецкий автономный округ', 'Россия'),
|
|
('Ханты-Мансийский автономный округ - Югра', 'Россия'),
|
|
('Чукотский автономный округ', 'Россия'),
|
|
('Ямало-Ненецкий автономный округ', 'Россия'),
|
|
|
|
('Арагацотнская область', 'Армения'),
|
|
('Араратская область', 'Армения'),
|
|
('Армавирская область', 'Армения'),
|
|
('Вайоцдзорская область', 'Армения'),
|
|
('Гехаркуникская область', 'Армения'),
|
|
('Котайкская область', 'Армения'),
|
|
('Лорийская область', 'Армения'),
|
|
('Сюникская область', 'Армения'),
|
|
('Тавушская область', 'Армения'),
|
|
('Ширакская область', 'Армения'),
|
|
('Ереван', 'Армения'),
|
|
|
|
('Минск', 'Белоруссия'),
|
|
('Брестская область', 'Белоруссия'),
|
|
('Витебская область', 'Белоруссия'),
|
|
('Гомельская область', 'Белоруссия'),
|
|
('Гродненская область', 'Белоруссия'),
|
|
('Минская область', 'Белоруссия'),
|
|
('Могилёвская область', 'Белоруссия'),
|
|
|
|
('Акмолинская область', 'Казахстан'),
|
|
('Актюбинская область', 'Казахстан'),
|
|
('Алматинская область', 'Казахстан'),
|
|
('Атырауская область', 'Казахстан'),
|
|
('Восточно-Казахстанская область', 'Казахстан'),
|
|
('Жамбылская область', 'Казахстан'),
|
|
('Западно-Казахстанская область', 'Казахстан'),
|
|
('Карагандинская область', 'Казахстан'),
|
|
('Костанайская область', 'Казахстан'),
|
|
('Кызылординская область', 'Казахстан'),
|
|
('Мангистауская область', 'Казахстан'),
|
|
('Павлодарская область', 'Казахстан'),
|
|
('Северо-Казахстанская область', 'Казахстан'),
|
|
('Южно-Казахстанская область', 'Казахстан'),
|
|
('Астана', 'Казахстан'),
|
|
('Алма-Ата', 'Казахстан'),
|
|
|
|
('Бишкек', 'Киргизия'),
|
|
('Ош', 'Киргизия'),
|
|
('Баткенская область', 'Киргизия'),
|
|
('Джалал-Абадская область', 'Киргизия'),
|
|
('Иссык-Кульская область', 'Киргизия'),
|
|
('Нарынская область', 'Киргизия'),
|
|
('Ошская область', 'Киргизия'),
|
|
('Таласская область', 'Киргизия'),
|
|
('Чуйская область', 'Киргизия'),
|
|
|
|
('Муниципий Кишинёв', 'Молдавия'),
|
|
('Муниципий Бельцы', 'Молдавия'),
|
|
('Муниципий Бендеры', 'Молдавия'),
|
|
('Бессарабский район', 'Молдавия'),
|
|
('Бричанский район', 'Молдавия'),
|
|
('Глодянский район', 'Молдавия'),
|
|
('Дондюшанский район', 'Молдавия'),
|
|
('Дрокиевский район', 'Молдавия'),
|
|
('Дубоссарский район', 'Молдавия'),
|
|
('Единецкий район', 'Молдавия'),
|
|
('Кагульский район', 'Молдавия'),
|
|
('Каларашский район', 'Молдавия'),
|
|
('Кантемирский район', 'Молдавия'),
|
|
('Каушанский район', 'Молдавия'),
|
|
('Криулянский район', 'Молдавия'),
|
|
('Леовский район', 'Молдавия'),
|
|
('Ниспоренский район', 'Молдавия'),
|
|
('Новоаненский район', 'Молдавия'),
|
|
('Окницкий район', 'Молдавия'),
|
|
('Оргеевский район', 'Молдавия'),
|
|
('Резинский район', 'Молдавия'),
|
|
('Рышканский район', 'Молдавия'),
|
|
('Сорокский район', 'Молдавия'),
|
|
('Страшенский район', 'Молдавия'),
|
|
('Сынжерейский район', 'Молдавия'),
|
|
('Тараклийский район', 'Молдавия'),
|
|
('Теленештский район', 'Молдавия'),
|
|
('Унгенский район', 'Молдавия'),
|
|
('Фалештский район', 'Молдавия'),
|
|
('Флорештский район', 'Молдавия'),
|
|
('Хынчештский район', 'Молдавия'),
|
|
('Чимишлийский район', 'Молдавия'),
|
|
('Шолданештский район', 'Молдавия'),
|
|
('Штефан-Водский район', 'Молдавия'),
|
|
('Яловенский район', 'Молдавия'),
|
|
|
|
('Душанбе', 'Таджикистан'),
|
|
('Горно-Бадахшанская автономная область', 'Таджикистан'),
|
|
('Согдийская область', 'Таджикистан'),
|
|
('Хатлонская область', 'Таджикистан'),
|
|
('Районы республиканского подчинения', 'Таджикистан'),
|
|
|
|
('Ашхабад', 'Туркмения'),
|
|
('Ахалский велаят', 'Туркмения'),
|
|
('Балканский велаят', 'Туркмения'),
|
|
('Дашогузский велаят', 'Туркмения'),
|
|
('Лебапский велаят', 'Туркмения'),
|
|
('Марыйский велаят', 'Туркмения'),
|
|
|
|
('Ташкент', 'Узбекистан'),
|
|
('Республика Каракалпакстан', 'Узбекистан'),
|
|
('Андижанская область', 'Узбекистан'),
|
|
('Бухарская область', 'Узбекистан'),
|
|
('Джизакская область', 'Узбекистан'),
|
|
('Кашкадарьинская область', 'Узбекистан'),
|
|
('Навоийская область', 'Узбекистан'),
|
|
('Наманганская область', 'Узбекистан'),
|
|
('Самаркандская область', 'Узбекистан'),
|
|
('Сурхандарьинская область', 'Узбекистан'),
|
|
('Сырдарьинская область', 'Узбекистан'),
|
|
('Ташкентская область', 'Узбекистан'),
|
|
('Ферганская область', 'Узбекистан'),
|
|
('Хорезмская область', 'Узбекистан'),
|
|
|
|
('Апшеронский район', 'Азербайджан'),
|
|
('Агдамский район', 'Азербайджан'),
|
|
('Агдашский район', 'Азербайджан'),
|
|
('Агджабединский район', 'Азербайджан'),
|
|
('Аджигабульский район', 'Азербайджан'),
|
|
('Агстафинский район', 'Азербайджан'),
|
|
('Астаринский район', 'Азербайджан'),
|
|
('Ахсуйский район', 'Азербайджан'),
|
|
('Баку', 'Азербайджан'),
|
|
('Балакенский район', 'Азербайджан'),
|
|
('Бардинский район', 'Азербайджан'),
|
|
('Бейлаганский район', 'Азербайджан'),
|
|
('Билясуварский район', 'Азербайджан'),
|
|
('Габалинский район', 'Азербайджан'),
|
|
('Газахский район', 'Азербайджан'),
|
|
('Гахский район', 'Азербайджан'),
|
|
('Геокчайский район', 'Азербайджан'),
|
|
('Геранбойский район', 'Азербайджан'),
|
|
('Гёйгёльский район', 'Азербайджан'),
|
|
('Гобустанский район', 'Азербайджан'),
|
|
('Губадлинский район', 'Азербайджан'),
|
|
('Губинский район', 'Азербайджан'),
|
|
('Гусарский район', 'Азербайджан'),
|
|
('Гянджа', 'Азербайджан'),
|
|
('Дашкесанский район', 'Азербайджан'),
|
|
('Джалилабадский район', 'Азербайджан'),
|
|
('Джебраильский район', 'Азербайджан'),
|
|
('Евлахский район', 'Азербайджан'),
|
|
('Евлах', 'Азербайджан'),
|
|
('Загатальский район', 'Азербайджан'),
|
|
('Зангеланский район', 'Азербайджан'),
|
|
('Зердабский район', 'Азербайджан'),
|
|
('Имишлинский район', 'Азербайджан'),
|
|
('Исмаиллинский район', 'Азербайджан'),
|
|
('Кедабекский район', 'Азербайджан'),
|
|
('Кельбаджарский район', 'Азербайджан'),
|
|
('Кюрдамирский район', 'Азербайджан'),
|
|
('Лачинский район', 'Азербайджан'),
|
|
('Ленкоранский район', 'Азербайджан'),
|
|
('Ленкорань', 'Азербайджан'),
|
|
('Лерикский район', 'Азербайджан'),
|
|
('Масаллинский район', 'Азербайджан'),
|
|
('Мингечевир', 'Азербайджан'),
|
|
('Нафталан', 'Азербайджан'),
|
|
('Нефтечалинский район', 'Азербайджан'),
|
|
('Огузский район', 'Азербайджан'),
|
|
('Саатлинский район', 'Азербайджан'),
|
|
('Сабирабадский район', 'Азербайджан'),
|
|
('Салянский район', 'Азербайджан'),
|
|
('Самухский район', 'Азербайджан'),
|
|
('Сиазаньский район', 'Азербайджан'),
|
|
('Сумгаит', 'Азербайджан'),
|
|
('Товузский район', 'Азербайджан'),
|
|
('Тертерский район', 'Азербайджан'),
|
|
('Уджарский район', 'Азербайджан'),
|
|
('Физулинский район', 'Азербайджан'),
|
|
('Ханкенди', 'Азербайджан'),
|
|
('Хачмазский район', 'Азербайджан'),
|
|
('Ходжавендский район', 'Азербайджан'),
|
|
('Ходжалинский район', 'Азербайджан'),
|
|
('Хызинский район', 'Азербайджан'),
|
|
('Шабранский район', 'Азербайджан'),
|
|
('Шамкирский район', 'Азербайджан'),
|
|
('Шекинский район', 'Азербайджан'),
|
|
('Шеки', 'Азербайджан'),
|
|
('Шемахинский район', 'Азербайджан'),
|
|
('Ширван', 'Азербайджан'),
|
|
('Шушинский район', 'Азербайджан'),
|
|
('Шуша', 'Азербайджан'),
|
|
('Ярдымлинский район', 'Азербайджан'),
|
|
)
|
|
|
|
CITIES = (
|
|
('Москва', 'Москва'),
|
|
('Санкт-Петербург', 'Санкт-Петербург'),
|
|
('Ташкент', 'Ташкент'),
|
|
('Баку', 'Баку'),
|
|
('Минск', 'Минск'),
|
|
('Новосибирск', 'Новосибирская область'),
|
|
('Алма-Ата', 'Алма-Ата'),
|
|
('Екатеринбург', 'Свердловская область'),
|
|
('Нижний Новгород', 'Нижегородская область'),
|
|
('Самара', 'Самарская область'),
|
|
('Казань', 'Республика Татарстан'),
|
|
('Омск', 'Омская область'),
|
|
('Челябинск', 'Челябинская область'),
|
|
('Ереван', 'Ереван'),
|
|
('Ростов-на-Дону', 'Ростовская область'),
|
|
('Уфа', 'Республика Башкортостан'),
|
|
('Волгоград', 'Волгоградская область'),
|
|
('Пермь', 'Пермский край'),
|
|
('Красноярск', 'Красноярский край'),
|
|
)
|
|
|
|
|
|
class Command(BaseCommand):
|
|
def handle(self, *args, **options):
|
|
print('---------------------------------------')
|
|
print('Generating locations...')
|
|
print('---------------------------------------')
|
|
|
|
_root = Location.objects.get_or_create(name='_root', type='_root')[0]
|
|
|
|
for country in COUNTRIES:
|
|
Location.objects.get_or_create(name=country, type='country', parent=_root)
|
|
print(country)
|
|
|
|
for region in REGIONS:
|
|
region_name = region[0]
|
|
country_name = region[1]
|
|
country = Location.objects.get(name=country_name, type='country')
|
|
Location.objects.get_or_create(name=region_name, type='region', parent=country)
|
|
print(region_name, country_name)
|
|
|
|
for city in CITIES:
|
|
city_name = city[0]
|
|
region_name = city[1]
|
|
region = Location.objects.get(name=region_name, type='region')
|
|
Location.objects.get_or_create(name=city_name, type='town', parent=region)
|
|
print(city_name, region_name) |