Аз също се сблъсках с този проблем и разбрах, че всъщност всичко работи както трябва. В Python, ако действително дефинирате нещо като това Decimal("0.0000000000") ще видите това в конзолата:
>>> Decimal("0.0000000000")
Decimal('0E-10')
В моята ситуация конвертирах от SQLite3 бекенд към PostgreSQL за производство. Всичко работеше добре в SQLite, защото не показва изрично (или съхранява) всички десетични цифри. Така че, ако вмъкнете 0 в числово поле на SQLite и след това го изберете, ще получите 0 .
Но ако вмъкнете 0 в PostgreSQL числово поле, то ще направи нулево попълване на десетичната запетая и ще вмъкне 0.0000000000 . Така че, когато Python постави това в Decimal, ще видите Decimal("0E-10") .
АКТУАЛИЗАЦИЯ - коригирана в Django 1.8