validité Quel est le meilleur champ de modèle django à utiliser pour représenter un montant en dollars américains?




valeur du dollar (4)

field = models.DecimalField(max_digits=8, decimal_places=2)

Notez que max_digits doit être> = decimal_places. Cet exemple de paramètre autoriserait une valeur allant jusqu'à: 999,999.99

Docs: https://docs.djangoproject.com/en/1.10/ref/models/fields/#decimalfield

J'ai besoin de stocker un montant en dollars US dans un champ d'un modèle Django. Quel est le meilleur type de champ de modèle à utiliser? Je dois pouvoir demander à l'utilisateur d'entrer cette valeur (avec une vérification d'erreur, ne vouloir qu'un nombre précis de centimes), la formater pour la sortie aux utilisateurs dans différents endroits, et l'utiliser pour calculer d'autres nombres.


Définissez une décimale et renvoyez un signe $ devant la valeur.

    price = models.DecimalField(max_digits=8, decimal_places=2)

    @property
    def price(self):
        return "$%s" % self.price

Un champ décimal est le bon choix pour la valeur de la devise.

Cela ressemblera à quelque chose comme:

credit = models.DecimalField(max_digits=6, decimal_places=2)

field = models.DecimalField(max_digits=8, decimal_places=2)

Devrait créer un champ pour PostgreSQL comme:

 "field" numeric(8, 2) NOT NULL

Quel est le meilleur moyen pour PostGreSQL stocké en dollars américains.

Si vous avez besoin d'un champ PostgreSQL de type "double precision", alors vous devez faire dans le modèle django:

field = models.FloatField()




django-models