change schema to save

This commit is contained in:
ilia 2023-05-27 23:59:50 +03:00
parent bc173cdbee
commit c731886dc6
2 changed files with 42 additions and 30 deletions

View File

@ -111,38 +111,47 @@ def post(self, request):
region = None region = None
if city_id: res = []
region = get_object_or_404(City, oid=city_id)
else:
region = choice(City.objects.annotate(points_count=Count('points')).filter(title__in=city_in_hotels).filter(points_count__gt=400))
if not start_date and end_date:
tour_length = choice([timedelta(days=i) for i in range(1, 4)])
start_date = end_date - tour_length
if not end_date and start_date:
tour_length = choice([timedelta(days=i) for i in range(1, 4)])
end_date = end_date + tour_length
if not end_date and not start_date:
max_date = datetime.now() + timedelta(days=15)
start_date = choice([max_date - timedelta(days=i) for i in range(1, 5)])
tour_length = choice([timedelta(days=i) for i in range(1, 4)])
end_date = start_date + tour_length
print(request.user, region, start_date, end_date) for _ in range(5):
tour = generate_tour( if city_id:
request.user, region = get_object_or_404(City, oid=city_id)
region, else:
start_date, region = choice(City.objects.annotate(points_count=Count('points')).filter(title__in=city_in_hotels).filter(points_count__gt=400))
end_date, if not start_date and end_date:
avg_velocity=movement_mapping[movement], tour_length = choice([timedelta(days=i) for i in range(1, 4)])
stars=hotel_stars, start_date = end_date - tour_length
hotel_type=hotel_type, if not end_date and start_date:
where_eat=where_eat, tour_length = choice([timedelta(days=i) for i in range(1, 4)])
what_to_see=what_to_see end_date = end_date + tour_length
) if not end_date and not start_date:
print(len(tour[1])) max_date = datetime.now() + timedelta(days=15)
start_date = choice([max_date - timedelta(days=i) for i in range(1, 5)])
tour_length = choice([timedelta(days=i) for i in range(1, 4)])
end_date = start_date + tour_length
return Response(data=tour[0]) print(request.user, region, start_date, end_date)
tour = generate_tour(
request.user,
region,
start_date,
end_date,
avg_velocity=movement_mapping[movement],
stars=hotel_stars,
hotel_type=hotel_type,
where_eat=where_eat,
what_to_see=what_to_see
)
res.append({
'city': region.title,
'date_from': start_date,
'date_to': end_date,
'path': tour[0]
})
return Response(data=res)
class ListRegionApiView(ListAPIView): class ListRegionApiView(ListAPIView):

View File

@ -482,7 +482,8 @@ def generate_point(point: BasePoint):
"type": "point", "type": "point",
"point": event_data, "point": event_data,
"point_type": "point", "point_type": "point",
"time": timedelta(minutes=90+choice(range(-10, 90, 10))).seconds "time": timedelta(minutes=90+choice(range(-10, 90, 10))).seconds,
"distance": 0
} }
@ -555,6 +556,8 @@ def generate_hotel(hotel: Hotel):
"type": "point", "type": "point",
"point": hotel_data, "point": hotel_data,
"point_type": "hotel", "point_type": "hotel",
"time": 0,
"distance": 0
} }