def generate_object_item_delivery(): idelivr = ItemDelivery() type_d = generate_type_driver() idelivr.load = generate_load_transport(type_d) idelivr.name = generate_name_item_delivery(type_d) # TODO: change to all BR, for a while, just CG. lat_o, lng_o = random_lat_lon() lat_t, lng_t = random_lat_lon() idelivr.lat = lat_o idelivr.lng = lng_o address = Address() address.lat = lat_t address.lng = lng_t idelivr.address = geolocation_reverse(lat_o, lng_o) address.address = geolocation_reverse(lat_t, lng_t) address.save() idelivr.target = address idelivr.save() for i in range(generate_stops_number()): lat_stop, lng_stop = random_lat_lon() stop = Stop() stop.lat = lat_stop stop.lng = lng_stop stop.item_delivery = idelivr stop.save() idelivr.distance = get_distance_total_idelivery(idelivr) idelivr.save() idelivr.amount_receivable = Money( generate_profit_item_delivery(type_d, idelivr.distance) + get_cost_travel(generate_kml_transport(type_d), idelivr.distance, type_d), 'BRL') idelivr.save() return idelivr