Предупреждение о времени выполнения: поле времени даты (несвязанное) получило наивное время даты при увеличении продолжительности до времени даты.теперь

#django #datetime #duration

Вопрос:

Я пытаюсь увеличить продолжительность до определенного состояния. Данные сохраняются в базе данных, но страница не обновляется, и я получаю эту ошибку. Что можно сделать?

 RuntimeWarning: DateTimeField (unbound) received a naive datetime (2021-07-04 18:54:38.827527) while time zone support is active. warnings.warn("DateTimeField %s received a naive datetime (%s)"
 

Я использую этот код в своих представлениях

     from datetime import datetime
...
 if form.is_valid():
        numof=form.cleaned_data['Numero_Of']
        QuerySet_of=OF.objects.get(Numero_Of=numof)
        Usin=Poste.objects.get(OF_id=QuerySet_of.Id_OF,Nom_poste__startswith = "MGP")
        while Usin.Date_S_poste is None :
            OF.objects.filter(Id_OF=QuerySet_of.Id_OF).update(Nb_jrs_att_Usin = datetime.now() - F('Date_E_initial'))
 

models.py

     Nb_jrs_att_Usin=models.DurationField(null=True, blank=True)
 

В моих настройках я изменил TIME_ZONE на

 TIME_ZONE = 'Africa/Tunis'
USE_I18N = True
USE_L10N = False  
USE_TZ = True
 

Комментарии:

1. Это всего лишь предупреждение! Вместо from datetime import datetime использования from django.utils import timezone , а затем Nb_jrs_att_Usin=timezone.now() - ...

2. Есть еще одна причина, по которой страница не обновляется. Покажите свой полный обзор.