は多くの可能なアプローチがあるとされている最高のものは、プロジェクト内の他の多くのものに依存します。
データベースに時間をどのように保存しますか? models.TimeField()
を使用していますか?あなたは非正規化しますか?models.DecimalField()
にも値を保存しますか?
テンプレートでJavaScriptを使用できますか?はいの場合は、ユーザーとのやりとりを可能にする動的フォームを使用します。たぶん、このような何か:
<label for="timeformat_switcher"
<input type="checkbox" id="timeformat_switcher">Enter a decimal value
</label>
<input type="time" id="time">
<input type="number" id="number"><!-- make it per default in CSS hidden -->
ユーザーがチェックボックスではJavaScriptを<input type="time">
を隠し、<input type="number">
を再表示チェック。 JavaScriptを使用して10進値を時刻に変換し、サーバーに送信します。
これはdbに 'DecimalField'として格納されます。私は変換がサーバー側で行われることをお勧めします。 – surfer190
@ surfer190 'TimeField'の代わりに' DecimalField'を使って時間を保存する理由を簡単に教えてください。 – cezar
より簡単に作業できます...加算、乗算、減算がうまく機能します – surfer190