Вычтите два поля DateTime в Django - PullRequest
0 голосов
/ 28 апреля 2020

Как можно вычесть два разных формата для поля DateTime, чтобы получить разницу дней и времени между ними.

Мои модели:

class TimeAnswerElement(models.Model):
    costumer_time = models.DateTimeField()
    my_time = models.DateTimeField(auto_now_add=True)
    time_compartment = models.DateTimeField(blank=True, null=True)

Мои просмотры:

object = get_object_or_404(TimeAnswerElement, id=1)
time_compartment = object.my_time - object.costumer_time 
#My data for fields
#object.my_time = 2020-04-28 19:31:35.550655+00:00
#object.costumer_time = 2020-04-28 11:11:00

Мое решение возвращает ошибку:

unsupported operand type(s) for -: 'datetime.datetime' and 'str'

1 Ответ

1 голос
/ 28 апреля 2020

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

import datetime
from dateutil import parser
if not isinstance (object.my_time, datetime.datetime):
    my_time=parser.parse(object.my_time)
if not isinstance (object.costumer_time, datetime.datetime):
    costumer_time=parser.parse(object.costumer_time)

time_compartment = my_time - costumer_time
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...