Saya perlu menyimpan sejumlah US $ dolar dalam bidang model Django. Apa jenis bidang model terbaik untuk digunakan? Saya harus dapat meminta pengguna memasukkan nilai ini (dengan pengecekan kesalahan, hanya menginginkan angka yang akurat menjadi sen), memformatnya untuk keluaran ke pengguna di tempat yang berbeda, dan menggunakannya untuk menghitung angka lain.
django
django-models
MikeN
sumber
sumber
Perhatikan bahwa max_digits harus> = decimal_places. Contoh pengaturan ini akan memungkinkan nilai hingga: 999.999,99
Dokumen: https://docs.djangoproject.com/en/1.10/ref/models/fields/#decimalfield
sumber
Jawaban lain adalah 100% benar tetapi tidak terlalu praktis karena Anda masih harus mengelola keluaran, pemformatan, dll secara manual.
Saya akan menyarankan menggunakan django-money :
Bekerja secara otomatis dari template:
Keluaran:
Ini memiliki backend yang kuat melalui python-money dan pada dasarnya ini adalah pengganti drop-in untuk bidang desimal standar.
sumber
DecimalField
lebih praktis. Dan saya yakin ini diterapkan untuk kebanyakan orang. Menggunakandjango-money
seperti yang mereka soroti, termasuk penanganan mata uang . Jadi ini lebih untuk proyek yang melibatkan transaksi seperti situs e-commerce, gateway pembayaran, mata uang digital, perbankan, dll ....Tentukan desimal dan kembalikan tanda $ di depan nilai.
sumber
Harus membuat bidang untuk PostgreSQL seperti:
Yang merupakan cara terbaik untuk menyimpan jumlah dolar AS PostGreSQL.
Jika Anda membutuhkan field PostgreSQL jenis "presisi ganda", maka yang perlu Anda lakukan dalam model django:
sumber