Django DurationField только для HH:MM никогда не нужны секунды?
У меня есть DurationField in my DB and trying to use this in
ModelForm` с целью отслеживания дней, если они есть, и только часов и минут. Секунды мне вообще не нужны.
Я пытался создать пользовательскую функциональность для этого, следующим образом...
def duration_string(duration):
days = duration.days
seconds = duration.seconds
minutes = seconds // 60
hours = minutes // 60
minutes = minutes % 60
dur_string = f'{hours}:{minutes}:00'
if days:
dur_string = 'f{days} + dur_string'
return dur_string
class CustomDurationField(forms.DurationField):
def prepare_value(self, value):
if isinstance(value, datetime.timedelta):
return duration_string(value)
return value
class TimeForm(ModelForm):
setup_duration = CustomDurationField()
теперь в поле моей формы, когда пользователь вводит 1:45
я хочу, чтобы это было зарегистрировано как 1 час и 45 минут, но когда я проверяю свою базу данных, возвращается 00:01:45
, что составляет 1 минуту и 45 секунд.
В моей оболочке я получаю объект timdelta следующего вида
datetime.timedelta(seconds=105)
Если у кого-нибудь есть какие-либо рекомендации о том, как этого добиться, буду очень признателен!