1.6.10 adds for search timezone for cities
This commit is contained in:
@@ -8,22 +8,40 @@ from timezonefinder import TimezoneFinder
|
|||||||
tzf = TimezoneFinder()
|
tzf = TimezoneFinder()
|
||||||
|
|
||||||
def search_cities_in_db(search_str):
|
def search_cities_in_db(search_str):
|
||||||
|
res_data = []
|
||||||
Q_obj = Q(name_en__icontains=search_str) | Q(name_ru__icontains=search_str) | \
|
Q_obj = Q(name_en__icontains=search_str) | Q(name_ru__icontains=search_str) | \
|
||||||
Q(country__name_en__icontains=search_str) | Q(country__name_ru__icontains=search_str)
|
Q(country__name_en__icontains=search_str) | Q(country__name_ru__icontains=search_str)
|
||||||
res_data = City.objects.filter(Q_obj).values('id', 'name', 'country__name', 'timezone')
|
objs = City.objects.filter(Q_obj)
|
||||||
|
if objs:
|
||||||
|
ids = objs.values_list('id', flat=True)
|
||||||
|
objs_wo_tz = objs.filter(timezone=None)
|
||||||
|
for item in objs_wo_tz:
|
||||||
|
item.get_n_save_timezone()
|
||||||
|
res_data = City.objects.filter(id__in=ids).values(
|
||||||
|
'id', 'name', 'country__name', 'timezone'
|
||||||
|
)
|
||||||
|
|
||||||
return list(res_data)
|
return list(res_data)
|
||||||
|
|
||||||
def search_airports_in_db(search_str):
|
def search_airports_in_db(search_str):
|
||||||
|
res_data = []
|
||||||
Q_obj = Q(iata_code__icontains=search_str) | \
|
Q_obj = Q(iata_code__icontains=search_str) | \
|
||||||
Q(name_en__icontains=search_str) | Q(name_ru__icontains=search_str) | \
|
Q(name_en__icontains=search_str) | Q(name_ru__icontains=search_str) | \
|
||||||
Q(city__name_en__icontains=search_str) | Q(city__name_ru__icontains=search_str) | \
|
Q(city__name_en__icontains=search_str) | Q(city__name_ru__icontains=search_str) | \
|
||||||
Q(city__country__name_en__icontains=search_str) | \
|
Q(city__country__name_en__icontains=search_str) | \
|
||||||
Q(city__country__name_ru__icontains=search_str)
|
Q(city__country__name_ru__icontains=search_str)
|
||||||
res_data = Airport.objects.filter(Q_obj).values(
|
objs = Airport.objects.filter(Q_obj)
|
||||||
'id', 'name', 'iata_code',
|
if objs:
|
||||||
'city__name', 'city__country__name', 'city__timezone'
|
ids = objs.values_list('id', flat=True)
|
||||||
)
|
objs_wo_tz = objs.filter(city__timezone=None)
|
||||||
|
for item in objs_wo_tz:
|
||||||
|
item.city.get_n_save_timezone()
|
||||||
|
|
||||||
|
res_data = Airport.objects.filter(id__in=ids).values(
|
||||||
|
'id', 'name', 'iata_code',
|
||||||
|
'city__name', 'city__country__name', 'city__timezone'
|
||||||
|
)
|
||||||
|
|
||||||
return list(res_data)
|
return list(res_data)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user