Я сделал форму, чтобы пользователи могли добавлять absences
, состоящий из диапазонов дат-времени.Django - Datetime range end time excluded
Я оставил время по желанию, поэтому они могут установить, например 2014-01-23
к 2014-01-24
Но поскольку конечные сохраненные значения будут 2014-01-23 00:00:00
к 2014-01-24 00:00:00
, этот диапазон будет фактически покрывают только 23. Скорее всего, пользователь захочет, чтобы мы рассмотрели 2014-01-25 00:00:00
вместо этого.
Это хорошая идея хранить эти данные таким образом?
Должен ли я автоматически увеличивать конечную дату, если конечное время не установлено?
Update
Следуя совету @MartijnPieters, вот как я проверил погоду end_time
был пуст
def clean_end_time(self):
end_dt = self.cleaned_data.get('end_time', None)
if end_dt.time().min == end_dt.time():
return datetime.combine(end_dt, end_dt.time().max)
return self.cleaned_data.get('end_time', None)
Единственная небольшая проблема будет в том, что пользователь не может выбрать 00:00
, как end_time
по назначению
Это было бы лучше, на самом деле. Я попробую. –
Не могли бы вы рассказать мне, как я могу проверить, не установлено ли время? –
@PierredeLESPINAY: оставить значение полностью пустым вместо заполнения по умолчанию * или * установить время по умолчанию '23: 59'. –