Django テンプレートでDurationフィールドの値の割り算と丸め

簡単な掛け算割り算で出るような値は、いちいちDBに結果を保持するのは冗長です。

views.pyで計算してレンダリングしても良いですが、テンプレートでサクッとやれちゃえば楽です。

しかし、DurationフィールドはTimeフィールドやDatetimeフィールドと違い、データ型が実際は浮動小数点型なので、日付け操作用の組み込みフィルタで小数点以下切り捨てなどがきません。

それになぜか、{{ value|flortformat:0 }} も効きません。

仕方が無いのでフィルタを自作します。

フィルタ自作の方法自体は、こちらが詳しいです。

ここでは、上記サイトの中の「utils.py」の内容だけ説明します。(別に名前は何でもよいです)

 

テンプレートで以下のように書けば、Durationフィールドの割り算と丸めが、できるようになります。

 

参考サイト)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*