30 lines
1.1 KiB
Python
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.')) |