Какие есть варианты передать правильно период времени в прогресс-бар?

Передаю в прогресс-бар оставшийся или полный период времени. Передается не совсем верно, может кто делал уже такое, подскажите как правильно передать данные?

views.py
from django.shortcuts import render
from django.template.defaulttags import register
import datetime

from .models import Factory


@register.filter
def get_range(l):
    return range(len(l))

def operator(request):
    if request.method == 'POST':
        start_data1 = request.POST.get('start1').split('.')
        end_data1 = request.POST.get('end1').split('.')
        start_data2 = request.POST.get('start2').split('.')
        end_data2 = request.POST.get('end2').split('.')
        start_data3 = request.POST.get('start3').split('.')
        end_data3 = request.POST.get('end3').split('.')
        start_data4 = request.POST.get('start4').split('.')
        end_data4 = request.POST.get('end4').split('.')
        start_data5 = request.POST.get('start5').split('.')
        end_data5 = request.POST.get('end5').split('.')
        start_data6 = request.POST.get('start6').split('.')
        end_data6 = request.POST.get('end6').split('.')

        f = Factory()
        f.name = request.POST.get('name1')
        f.order_number = request.POST.get('order1')
        f.contract = request.POST.get('contract1')
        f.weight = request.POST.get('weight1')
        f.start_data1 = datetime.datetime(2000 + int(start_data1[2]), int(start_data1[1]), int(start_data1[0])) # год, месяц, день
        f.end_start1 = datetime.datetime(2000 + int(end_data1[2]), int(end_data1[1]), int(end_data1[0]))
        f.start_data2 = datetime.datetime(2000 + int(start_data2[2]), int(start_data2[1]), int(start_data2[0])) # год, месяц, день
        f.end_start2 = datetime.datetime(2000 + int(end_data2[2]), int(end_data2[1]), int(end_data2[0]))
        f.start_data3 = datetime.datetime(2000 + int(start_data3[2]), int(start_data3[1]), int(start_data3[0])) # год, месяц, день
        f.end_start3 = datetime.datetime(2000 + int(end_data3[2]), int(end_data3[1]), int(end_data3[0]))
        f.start_data4 = datetime.datetime(2000 + int(start_data4[2]), int(start_data4[1]), int(start_data4[0])) # год, месяц, день
        f.end_start4 = datetime.datetime(2000 + int(end_data4[2]), int(end_data4[1]), int(end_data4[0]))
        f.start_data5 = datetime.datetime(2000 + int(start_data5[2]), int(start_data5[1]), int(start_data5[0])) # год, месяц, день
        f.end_start5 = datetime.datetime(2000 + int(end_data5[2]), int(end_data5[1]), int(end_data5[0]))
        f.start_data6 = datetime.datetime(2000 + int(start_data6[2]), int(start_data6[1]), int(start_data6[0])) # год, месяц, день
        f.end_start6 = datetime.datetime(2000 + int(end_data6[2]), int(end_data6[1]), int(end_data6[0]))
        f.save()

    dt = datetime.datetime.now().date()

    objects = []
    for i in Factory.objects.all():
        object = dict()
        object['id'] = i.id
        object['name'] = i.name
        object['order_number'] = i.order_number
        object['contract'] = i.contract
        object['start_data'] = i.start_data
        object['end_start'] = i.end_start
        object['weight'] = i.weight

        object['meter'] = []
        if i.end_start1 > dt:
            object['meter'].append(100 - int(str(i.end_start1-dt).split()[0])/int(str(i.end_start1-i.start_data1).split()[0])*100)
        if i.end_start2 > dt:
            object['meter'].append(100 - int(str(i.end_start2-dt).split()[0])/int(str(i.end_start2-i.start_data2).split()[0])*100)
        if i.end_start3 > dt:
            object['meter'].append(100 - int(str(i.end_start3-dt).split()[0])/int(str(i.end_start3-i.start_data3).split()[0])*100)
        if i.end_start4 > dt:
            object['meter'].append(100 - int(str(i.end_start4-dt).split()[0])/int(str(i.end_start4-i.start_data4).split()[0])*100)
        if i.end_start5 > dt:
            object['meter'].append(100 - int(str(i.end_start5-dt).split()[0])/int(str(i.end_start5-i.start_data5).split()[0])*100)
        if i.end_start6 > dt:
            object['meter'].append(100 - int(str(i.end_start6-dt).split()[0])/int(str(i.end_start6-i.start_data6).split()[0])*100)
        else:
            object['meter'].append(100)

        objects.append(object)

    return render(request, 'users/operator.html', {'title': 'Оператор', 'objects': objects})

def index(request):
    return render(request, 'users/index.html', {'title': 'Главная страница'})

def about(request):
    return render(request, 'users/about.html')
html
                {% for i in objects %}
                    <tr>
                        <td>{{ i.order_number }}</td>
                        <td>{{ i.name }}</td>
                        <td>{{ i.weight }}</td>
                        <td>{{ i.start_data }}</td>
                        <td>{{ i.end_start }}</td>
                        <td>{{ i.end_start }}</td>
                        <td><meter value="{{ i.meter.1 }}" max="100"></meter></td>
                        <td><meter value="{{ i.meter.2 }}" max="100"></meter></td>
                        <td><meter value="{{ i.meter.3 }}" max="100"></meter></td>
                        <td><meter value="{{ i.meter.4 }}" max="100"></meter></td>
                        <td><meter value="{{ i.meter.5 }}" max="100"></meter></td>
                        <td><meter value="{{ i.meter.6 }}" max="100"></meter></td>
                    </tr>
                {% endfor %}
models.py
from django.db import models
from django.utils import timezone


class Factory(models.Model):
    name = models.CharField(max_length=100, verbose_name='чертеж')
    order_number = models.IntegerField(verbose_name='номер заказа')
    contract = models.IntegerField(verbose_name='номер договора')
    start_data = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start = models.DateField(verbose_name='дата окончания', default=timezone.now)
    weight = models.FloatField(verbose_name='масса')
    start_data1 = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start1 = models.DateField(verbose_name='дата окончания', default=timezone.now)
    start_data2 = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start2 = models.DateField(verbose_name='дата окончания', default=timezone.now)
    start_data3 = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start3 = models.DateField(verbose_name='дата окончания', default=timezone.now)
    start_data4 = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start4 = models.DateField(verbose_name='дата окончания', default=timezone.now)
    start_data5 = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start5 = models.DateField(verbose_name='дата окончания', default=timezone.now)
    start_data6 = models.DateField(verbose_name='дата начало', default=timezone.now)
    end_start6 = models.DateField(verbose_name='дата окончания', default=timezone.now)

    def __str__(self) -> str:
        return super().__str__()

    def save(self, *args, **kwargs):
        super().save()


    class Meta:
        verbose_name = 'Заказ'
        verbose_name_plural = 'Заказы'


class ContractUser(models.Model):
    factory = models.ForeignKey(Factory, verbose_name='factory, которому принадлежит контракт', on_delete=models.CASCADE)
    contract_number = models.IntegerField(verbose_name='номер договора')

    def save(self, *args, **kwargs):
        super().save()
Вернуться на верх