Django 1.6、Python 2.7.5以降、PostgreSQL 9.1、Linux。DecimalFieldは、ゼロを0E-10に変換します。
私はこのようなモデルで定義されたいくつかの十進数フィールドがあります:私は0
(ゼロ)を入力し、私は値として0E-10
を取得するには、オブジェクトを保存するときに、管理インターフェイスを介して
min_inclusive = models.DecimalField(_('minimum inclusive'), max_digits=19,
decimal_places=10,
help_text=_("Enter the minimum (inclusive) value for this concept."),
null=True, blank=True)
を。
なぜ、ゼロを保存して表示するのはなぜですか?
decimal_places
が強制されている場合、または最大数である場合、ドキュメントでは指定されていません。
これは10個所がであるためです。?もしそうなら、既定のフォームウィジェット、TextInput
を使用すると、それは私にはそのサイズに拡大するか、少なくともそのサイズにスクロールしなければならないようです。私もこの問題に遭遇し、あなたが実際にあなたがコンソールDecimal("0E-10")
でこれを見ることができます。このDecimal("0.0000000000")
のようなものを定義した場合、実際にすべてのものは、Pythonで、右に動作していることを見出した
を修正問題はPostgresのバックエンドまたはPsycopg 2.5.2アダプタ内にあるように見えます...私は同じ問題とpostgresの中のデータを持っているが0.00000000ですが、 Decimal( "0E-8")として表示されます(シェルアクセスではなく私はsqlite3バックエンドに切り替える場合は、それは完全に動作します – xblitz