Changed datetime object to strings in backup exporter

This commit is contained in:
John Mullins
2024-01-22 16:05:55 +11:00
parent 6a4eb6d123
commit 1d5df4ad35
+26 -8
View File
@@ -1,8 +1,16 @@
import datetime
from django.forms import model_to_dict
from coord.models import *
def _to_date(date):
if date is None:
return None
return date.strftime("%Y-%m-%d")
def get_export_dict():
suburbs = []
schools = []
@@ -52,6 +60,8 @@ def get_export_dict():
company_dict['buses'] = buses
companies.append(company_dict)
ignore_fields = ['travel_start_date', 'travel_end_date', 'is_active', 'is_archived', 'bus_stops']
for traveller in Traveller.objects.all():
traveller_dict = model_to_dict(traveller)
traveller_dict['school'] = traveller.school.name
@@ -59,19 +69,27 @@ def get_export_dict():
traveller_dict['residential_suburb'] = traveller.residential_suburb.name
if traveller.postal_suburb is not None:
traveller_dict['postal_suburb'] = traveller.postal_suburb.name
if traveller.dob is not None:
traveller_dict['dob'] = traveller.dob.strftime("%Y-%m-%d")
traveller_dict.pop('travel_start_date')
traveller_dict.pop('travel_end_date')
traveller_dict['dob'] = _to_date(traveller.dob)
traveller_dict['assessment_date'] = _to_date(traveller.assessment_date)
traveller_dict['created_on'] = traveller.created_on.strftime("%Y-%m-%d %H:%M:%S %Z")
traveller_dict['last_edit'] = traveller.last_edit.strftime("%Y-%m-%d %H:%M:%S %Z")
for field in ignore_fields:
traveller_dict.pop(field)
for key in traveller_dict.keys():
value = traveller_dict[key]
if value is not None and value != '' and value != False:
print(f"{key}: {traveller_dict[key]}")
# if isinstance(value, datetime.datetime):
# traveller_dict['key'] = _to_date(value)
print()
routes = []
for route in TravellerRoute.objects.filter(traveller=traveller):
route_dict = model_to_dict(route)
route_dict.pop('traveller')
route_dict['name'] = route.busStop.__str__()
if route.travel_start_date is not None:
route_dict['travel_start_date'] = route.travel_start_date.strftime("%Y-%m-%d")
if route.travel_end_date is not None:
route_dict['travel_end_date'] = route.travel_end_date.strftime("%Y-%m-%d")
route_dict['travel_start_date'] = _to_date(route.travel_start_date)
route_dict['travel_end_date'] = _to_date(route.travel_end_date)
routes.append(route_dict)
traveller_dict['bus_stops'] = routes
travellers.append(traveller_dict)