Django-fr

Forum

#1 30-05-2011 12:47:21

Tonton
Membre
Inscription : 20-09-2010
Messages : 75

precision de format u' Decimal()

Bonjour

lors de recuperation d'information Django retourne l'information avec la
precision de l'information qu'il choppe

u'XXX' pour une valeur unicode
Decimal('XXX') pour une valeur decimal

a ce que j'ai vu .

Peut t'on empecher le retour de cette info ?
je genere un dico que je parse ensuite en json mais là c pas possible !

Merci de vos réponses

T.

Hors ligne

#2 30-05-2011 13:11:30

Chamal
Membre
Inscription : 11-08-2010
Messages : 17

Re : precision de format u' Decimal()

Le 30 mai 2011 à 13:47, Tonton a écrit :

> Bonjour
>
> lors de recuperation d'information Django retourne l'information avec la precision de l'information qu'il choppe
>
> u'XXX' pour une valeur unicode
> Decimal('XXX') pour une valeur decimal 
>
> a ce que j'ai vu .
>
> Peut t'on empecher le retour de cette info ?
> je genere un dico que je parse ensuite en json mais là c pas possible !

Il faut modifier la manière de sérialiser un Decimal en json si tu n'es pas en python >= 2.7.1

Une classe qui surcharge l'encoder json de base et le tour est joué :

http://stackoverflow.com/questions/1960516/python-json-serialize-a-decimal-object

Le même problème peut se poser avec les champs dates.

++ Aymeric

Hors ligne

#3 30-05-2011 14:39:15

Tonton
Membre
Inscription : 20-09-2010
Messages : 75

Re : precision de format u' Decimal()

Oui j'avais vu ça marche
je cherchais une soluce plus simple mais elle passe pas
meme si quelqu'un en parle :

>>> json.dumps(Decimal('3.9'), use_decimal=True)

Merci

tonton
2011/5/30 Aymeric Barantal <mric _AT_ chamal.fr>

>
> Le 30 mai 2011 à 13:47, Tonton a écrit :
>
> > Bonjour
> >
> > lors de recuperation d'information Django retourne l'information avec la
> precision de l'information qu'il choppe
> >
> > u'XXX' pour une valeur unicode
> > Decimal('XXX') pour une valeur decimal
> >
> > a ce que j'ai vu .
> >
> > Peut t'on empecher le retour de cette info ?
> > je genere un dico que je parse ensuite en json mais là c pas possible !
>
> Il faut modifier la manière de sérialiser un Decimal en json si tu n'es pas
> en python >= 2.7.1
>
> Une classe qui surcharge l'encoder json de base et le tour est joué :
>
>
> http://stackoverflow.com/questions/1960516/python-json-serialize-a-decimal-object
>
> Le même problème peut se poser avec les champs dates.
>
> ++ Aymeric
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

Pied de page des forums