Djangoで次の状況を適切に処理する方法がわからないようです。
モデルに日付範囲があり、2つの別々のフィールドとして保存しdate_start
ますdate_end
。
start_date = models.DateTimeField()
end_date = models.DateTimeField()
このモデルのフォームでは、これを1つのフィールドとして、1つのラベルで表現したいと思います。
timespan = forms.Field(widget=widgets.SelectDateRangeWidget(), label="Date Range")
現在のように、MultiWidgetを拡張してSelectDateRangeWidget
:を作成しました。
class SelectDateRangeWidget(forms.MultiWidget):
...
次に、2つのDate
ウィジェットが組み込まれます。これを使用したいのですが、2つの別々のモデルフィールドにクリーンアップし、初期データをフォームフィールドにロードする機能も保持します。initial
フォームの関数で、毎回これら2つのフィールドの値を手動で設定し、手動でこれら2つのモデルフィールドにクリーンアップする唯一の方法です__init__
。または、これを行うためのよりクリーンな(いわば)方法があります。 ?