1.6.10 adds for search timezone for cities
This commit is contained in:
@@ -8,22 +8,40 @@ from timezonefinder import TimezoneFinder
|
||||
tzf = TimezoneFinder()
|
||||
|
||||
def search_cities_in_db(search_str):
|
||||
|
||||
res_data = []
|
||||
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)
|
||||
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)
|
||||
|
||||
def search_airports_in_db(search_str):
|
||||
res_data = []
|
||||
Q_obj = Q(iata_code__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__country__name_en__icontains=search_str) | \
|
||||
Q(city__country__name_ru__icontains=search_str)
|
||||
res_data = Airport.objects.filter(Q_obj).values(
|
||||
'id', 'name', 'iata_code',
|
||||
'city__name', 'city__country__name', 'city__timezone'
|
||||
)
|
||||
objs = Airport.objects.filter(Q_obj)
|
||||
if objs:
|
||||
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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user