Как представить два модельных поля как одно поле формы в Django?
Я не могу понять, как правильно справиться со следующей ситуацией в Django:
У меня есть диапазон дат в модели, который я храню как два отдельных поля,date_start
а такжеdate_end
:
start_date = models.DateTimeField()
end_date = models.DateTimeField()
В форме для этой модели я хочу представить это какодно полес одним ярлыком:
timespan = forms.Field(widget=widgets.SelectDateRangeWidget(), label="Date Range")
Как и сейчас, я расширил MultiWidget для созданияSelectDateRangeWidget
:
class SelectDateRangeWidget(forms.MultiWidget):
...
Который затем включает в себя дваDate
виджеты. Я хочу использовать это, но затем очистить его в два отдельных поля модели, а также сохранить возможность загрузки начальных данных в поле формы. Это единственный способ установить вручнуюinitial
к значению этих двух полей каждый раз, может быть, в__init__
функции формы, а также вручную очистить ее в этих двух модельных полях, или есть более чистый (так сказать) способ сделать это?