私は、ユーザが離陸時間と着陸時間を入力し、フォームがその期間より下の形式で返ってくる、パイロット用の小さなログブックを作成しようとしています:02:34時間ie 2時間34分。 models.py側の これは私がそれを設定する方法である:model.Durationはここに答えていないようですSubflow ModelFormの2つの時間フィールド
take_off_time = models.TimeField()
land_time = models.TimeField()
tot_time_field = models.DurationField()
... forms.pyで は、これまでのところ、私は単純にモデルをレンダリング。
だから、質問は以下のとおりです。
iはdurationFieldの代わりに何を使うだろうか?
入力を受け取り、計算をどのように行うことができますか?
def get_total_time(self): self.tot_time_field = self.land_time - self.take_off_time return self.tot_time
をして、フォームでtot_timeを使用しますが、私はこれが正しいことを確認していない:
は、私はシンプルなmodels.pyで試してみました。
デュレーションフィールドを使用して、あなたの難しさは何ですか?あなたはあなたのテイクから抽象化することができ、土地を正しく扱うことができるpython timedeltaが必要ですか? –
こんにちはヘド、回答ありがとう、言い換えれば私の例は正しいですか?タイムデルタを実装する必要がありますか? – Heliomaster
datetimeオブジェクトを省略すると、timedeltaオブジェクトが生成されるため、実際に保存する前にモデルのsaveメソッドを上書きしてget_total_timeを呼び出すことができます –