2017-11-21 7 views
1

Djangoの "timesince"フィルタは "< ="値未満で動作しますか?私はそれを "> ="より大きい値でしか動作させることができません。Django timesince値より小さい

私は過去1週間に作成されたクライアントを表示したいだけです。このコードは機能しません。

{% for c in clients %} 

    {% if c.created|timesince <= '7 days' %} 
     <li><a href="">{{ c.name|title }}</a></li> 
    {% endif %} 

{% endfor %} 

ありがとう。

答えて

2

一般に、日付比較の目的で日付を文字列に変換したくないとします。あなたは、日付オブジェクトを直接比較したいでしょう。この質問とさまざまな有益な回答を見てください:How to compare dates in Django。私がモデルにプロパティを追加することをお勧めしたいあなたの場合

from datetime import date, timedelta 

@property 
def is_recent(self): 
    return (self.created + timedelta(days=7)) > date.today() 
+0

私は別のモデルとより多くの場所で使用できるように、カスタムタグを追加することについてはどうですか?または日を変更しますか? – diogenes

+0

あなたのケースでは、ビューレイヤーまたはモデルレイヤーでこの計算を行うのが最も理にかなっているかどうかを検討する必要があります。テンプレートは物事を計算してはならないという点で非常に「ダム」とみなすべきです。 –

+0

ya ...ありがとう – diogenes

関連する問題