PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

DecimalField Преобразува нула в 0E-10

Аз също се сблъсках с този проблем и разбрах, че всъщност всичко работи както трябва. В 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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да използвам върната стойност на INSERT...RETURNING в друг INSERT?

  2. Как да скриете декорацията на набора от резултати в изхода на Psql

  3. Грешка в безизходица в израза INSERT

  4. Свързване на Python към Heroku PostgreSQL DB?

  5. Неуспешна връзка с AWS RDS Postgres