También me encontré con este problema y descubrí que en realidad todo funciona correctamente. En Python, si realmente defines algo como esto Decimal("0.0000000000")
verás esto en la consola:
>>> Decimal("0.0000000000")
Decimal('0E-10')
En mi situación, estaba convirtiendo desde SQLite3 back-end para PostgreSQL para la producción Todo funcionaba bien en SQLite, porque no muestra (o almacena) explícitamente todos los dígitos decimales. Entonces, si inserta 0
en un campo de número de SQLite y luego selecciónelo, obtendrá 0
.
Pero si inserta 0
en un PostgreSQL campo numérico hará un relleno de cero en el decimal e insertará 0.0000000000
. Entonces, cuando Python pone esto en un decimal, verás Decimal("0E-10")
.
ACTUALIZACIÓN:corregido en Django 1.8