fix scheduler

This commit is contained in:
Dmitriy Kuzmenko 2019-12-03 15:15:02 +03:00
parent 476b3fe059
commit 637903e613
3 changed files with 41 additions and 1 deletions

View File

@ -92,7 +92,11 @@ class UserBaseSerializer(serializers.ModelSerializer):
model = models.User model = models.User
fields = ( fields = (
'id',
'fullname', 'fullname',
'first_name',
'last_name',
'email',
'cropped_image_url', 'cropped_image_url',
'image_url', 'image_url',
) )

View File

@ -0,0 +1,36 @@
from django.core.management.base import BaseCommand
from tqdm import tqdm
from establishment.models import Establishment
from transfer.models import Establishments
from transfer.serializers.establishment import EstablishmentSerializer
from timetable.models import Timetable
from django.db import transaction
class Command(BaseCommand):
help = 'Fix scheduler'
@transaction.atomic
def handle(self, *args, **kwargs):
count = 0
establishments = Establishment.objects.all()
old_est_list = Establishments.objects.prefetch_related(
'schedules_set',
)
# remove old records of Timetable
Timetable.objects.all().delete()
for est in tqdm(establishments, desc="Fix scheduler"):
old_est = old_est_list.filter(id=est.old_id).first()
if old_est and old_est.schedules_set.exists():
old_schedule = old_est.schedules_set.first()
timetable = old_schedule.timetable
if timetable:
new_schedules = EstablishmentSerializer.get_schedules(timetable)
est.schedule.add(*new_schedules)
est.save()
count += 1
self.stdout.write(self.style.WARNING(f'Update {count} objects.'))

View File

@ -125,7 +125,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
weekdays = { weekdays = {
'su': Timetable.SUNDAY, 'su': Timetable.SUNDAY,
'mo': Timetable.MONDAY, 'mo': Timetable.MONDAY,
'tu': Timetable.THURSDAY, 'tu': Timetable.TUESDAY,
'we': Timetable.WEDNESDAY, 'we': Timetable.WEDNESDAY,
'th': Timetable.THURSDAY, 'th': Timetable.THURSDAY,
'fr': Timetable.FRIDAY, 'fr': Timetable.FRIDAY,