gault-millau/apps/establishment/transfer_data.py
2019-10-25 12:03:43 +03:00

48 lines
1.4 KiB
Python

from pprint import pprint
from transfer.models import Establishments
from transfer.serializers.establishment import EstablishmentSerializer
def transfer_establishment():
result = []
old_establishments = Establishments.objects.all().prefetch_related('establishmentinfos_set', 'schedules_set')
for item in old_establishments:
data = {
'name': item.name,
'slug': item.slug,
'type': item.type,
'location': item.location.id,
'schedules': [],
}
info = item.establishmentinfos_set.first()
if info:
data.update({
'website': info.website,
'facebook': info.facebook,
'twitter': info.twitter,
'lafourchette': info.lafourchette,
'booking': info.booking_url,
})
for schedule in item.schedules_set.all():
data['schedules'].append({
'raw_timetable': schedule.timetable
})
result.append(data)
print('-' * 30)
print(len(result))
pprint(result[0])
# serialized_data = EstablishmentSerializer(data=result, many=True)
# if serialized_data.is_valid():
# serialized_data.save()
# else:
# pprint(f"Establishment serializer errors: {serialized_data.errors}")
data_types = {
"establishment": [transfer_establishment]
}