0

Django テンプレート内からボーナスの有効期限を表示しようとしています。現在、opening_date は日付フィールドとして保存され、ボーナス期間は整数フィールドとして保存されます。残念ながら、ボーナス期間を開始日に追加しようとしても失敗し、これまでに得た最も遠いものは次のとおりです。

{{product_form.instance.opening_date|add:product_form.instance.bonus_term}}

月に追加しようとしましたが、残念ながら日付全体を表示する必要があります。

私が望むものをよりよく理解するために、開始日が 2012 年 1 月 1 日であり、ボーナス期間が 12 であったとします。2013 年 1 月 1 日の有効期限を表示したいと思います。これはおそらくデータベースにあるほうがよいと思いますが、以前に設定された方法のために、それを持たない既存のデータが大量に存在します。

ありがとう。

4

1 に答える 1

0

あなたのシナリオでは、最も洗練された解決策は、有効期限を計算 するモデルメソッドをモデルに作成してから、テンプレートでメソッドを呼び出すことだと思います。

モデルの場合:

class product(models.Model): 
    opening_date = ...
    bonus_term = ...
    def expire_date( self ):
         return self.opening_date + timedelta( days = self.bonus_term )

テンプレートの場合:

{{product_form.instance.expire_date}}

このメソッドは、コードの他の行で呼び出すと確信しています。

于 2012-08-02T11:16:03.137 に答える