gault-millau/apps/establishment/management/commands/upd_transportation.py
GladkihViktor 9acf2f5c5f Code style
2019-11-02 17:58:00 +03:00

30 lines
1.1 KiB
Python

from django.core.management.base import BaseCommand
from establishment.models import Establishment
from transfer.models import Establishments as OldEst
class Command(BaseCommand):
help = 'Update transportation column in establishment'
def handle(self, *args, **kwargs):
count = 0
raw_qs = OldEst.objects.raw(
'''
select
e.id,
l.transportation
from establishments e
join locations l on l.id = e.location_id
where trim(l.transportation) is not null
and length(trim(l.transportation)) >1;
'''
)
queryset = [vars(query) for query in raw_qs]
for obj in queryset:
establishment = Establishment.objects.filter(old_id=obj['id']).first()
if establishment:
establishment.transportation = obj['transportation']
count += 1
establishment.save()
self.stdout.write(self.style.WARNING(f'Updated {count} objects.'))