Acaweb
@Acaweb
Начинающий Вэб-разработчик

Как записать данные в DurationField в Django 2.2?

Добрый день

Есть модель
class Calls(models.Model):
    time = models.DurationField(null=True, blank=True, verbose_name='Продолжительность')

Есть файл .xls из него берем Ячейку со значением:
00:20:15
Далее создаем новую запись:
duration = row[2] #Строка из файла
Calls.objects.create( time = duration)

Получаю ошибку:
'str' object has no attribute 'days'
Exception Location: ...\django\utils\duration.py in duration_microseconds, line 44

Пробовал строку перевести в:
'datetime.datetime' object
'float' object

Но всё равно они не имеют attribute 'days'
Не могу понять как заполнить поле DurationField, потому что если делать через Админ панель, то это поле принимает как int, так и str
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
Acaweb
@Acaweb Автор вопроса
Начинающий Вэб-разработчик
Сам решил
import datetime as datetime_class # забыл добавить в ответ

duration = datetime.strptime(duration, "%H:%M:%S")
x_duration =datetime_class.timedelta(hours=duration.hour, minutes=duration.minute, seconds=duration.second).total_seconds()	
duration = timedelta(seconds = x_duration)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alternativshik
@alternativshik
timedelta ему надо, не строку, не дату, не число, а timedelta
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Omnic Москва
от 100 000 до 160 000 руб.
от 80 000 до 120 000 руб.
CRON Махачкала
от 60 000 до 140 000 руб.