3

私はモデルを持っていますDecimalField

points_player1 = models.DecimalField(max_digits=3, decimal_places=1, blank=True, null=True)

このフィールドをテンプレートに表示すると、常になどの値が表示されます0.01.0ただし、この動作をよりユーザーフレンドリーにしたいのです。

  1. たとえば、ユーザーが入力した場合、1それは表示されますか1(現在は1.0)。
  2. ユーザー入力の場合は1.5、が表示されます1.5
  3. デフォルト値は0、ではなく、0.0です。

これを作るための最良の方法は何ですか?DecimalField私の場合、正しい選択ですか?

4

2 に答える 2

13

テンプレートで行うことができます {{decimal_field|floatformat}}。これにより、必要な場合にのみ「.0」が四捨五入されて表示されます。

その他のリファレンステンプレート-floatformat

于 2012-08-16T04:28:56.473 に答える
-1

また、何らかの理由でdjangoテンプレートを使用できない/使用したくない場合は、モデルの保存方法を変更して、モデルの下部に追加することができます。

def save(self, *args, **kwargs):
    self.points_player1 = float(self.points_player1)
    super(YourModelName, self).save(*args, **kwargs)

試していませんが、動作するはずです。

于 2015-11-26T09:08:49.380 に答える