Django-fr

Forum

#1 29-11-2010 11:38:14

frague
Membre
Inscription : 29-11-2010
Messages : 24

dates json pour les fixtures

Bonjour à tous,

Je suis nouveau avec Django, mais je trouve cet outils vraiment intéressant.

Je suis en train de développer une application, et j'ai des données existantes à récupérer d"un fichier Excel.
Je suis en train de faire un script en python pour extraire les données, et les mapper dans un fichier JSON, qui sera utilisé comme fixture pour mon application.

Je colle les données dans des dictionnaires, en reprenant la structure des données attendues par le déserialiseur de Django. Les dictionnaires sont ensuite ajoutés dans un tableau.

data = []

mon_dict = {
        "pk": 1, 
        "model": "mon_application.MonObjet",  # Le nom de mon modèle
        "fields": {
            "raison_sociale": "********",  # Field de l'object mon_application.MonObjet
            "adresse_1": "*******", 
            "adresse_ville": "****", 
            "tel": "******", 
            "adresse_cp": "******"
        }
    }
data += mon_dict

## J'import plein d'autres trucs ici...
import json
output = json.dumps(mes_data, indent=4, encoding="utf-8",)

J'ai un soucis avec les champs de type date : je sais analyser les dates du fichier excel pour en faire des objets python (avec ma_date=datetime.date(year, month, day), mais par contre le serialiseur json ne sait pas analyser ces données, j'obtiens une exception :

TypeError: datetime.date(2009, 1, 14) is not JSON serializable

Quelqu'un a-t-il une idée ?

Cordialement,


frague

Hors ligne

#2 29-11-2010 12:38:50

David Thenon
Membre
Inscription : 11-08-2010
Messages : 156
Site Web

Re : dates json pour les fixtures

Salut,

Utilise un handler sur ton json.dumps() :

http://stackoverflow.com/questions/455580/json-datetime-between-python-and-
javascript/2680060#2680060

Le lundi 29 novembre 2010 11:38:14, François GUÉRIN a écrit :
> Bonjour à tous,
>
> Je suis nouveau avec Django, mais je trouve cet outils vraiment
> intéressant.
>
> Je suis en train de développer une application, et j'ai des données
> existantes à récupérer d"un fichier Excel.
> Je suis en train de faire un script en python pour extraire les données,
> et les mapper dans un fichier JSON, qui sera utilisé comme fixture pour
> mon application.
>
> Je colle les données dans des dictionnaires, en reprenant la structure
> des données attendues par le déserialiseur de Django. Les dictionnaires
> sont ensuite ajoutés dans un tableau.
>
>

> data = []
> 
> mon_dict = {
>         "pk": 1,
>         "model": "mon_application.MonObjet",  # Le nom de mon modèle
>         "fields": {
>             "raison_sociale": "********",  # Field de l'object
> mon_application.MonObjet
>             "adresse_1": "*******",
>             "adresse_ville": "****",
>             "tel": "******",
>             "adresse_cp": "******"
>         }
>     }
> data += mon_dict
> 
> ## J'import plein d'autres trucs ici...
> import json
> output = json.dumps(mes_data, indent=4, encoding="utf-8",)
> 
>

> J'ai un soucis avec les champs de type date : je sais analyser les dates
> du fichier excel pour en faire des objets python (avec
> ma_date=datetime.date(year, month, day), mais par contre le serialiseur
> json ne sait pas analyser ces données, j'obtiens une exception :
>
>  TypeError: datetime.date(2009, 1, 14) is not JSON serializable
>
> Quelqu'un a-t-il une idée ?
>
> Cordialement,
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#3 29-11-2010 12:41:36

Youenn Boussard
Membre
Inscription : 11-08-2010
Messages : 4

Re : dates json pour les fixtures

http://stackoverflow.com/questions/455580/json-datetime-between-python-and-javascript

2010/11/29 François GUÉRIN <frague59 _AT_ gmail.com>

> Bonjour à tous,
>
> Je suis nouveau avec Django, mais je trouve cet outils vraiment
> intéressant.
>
> Je suis en train de développer une application, et j'ai des données
> existantes à récupérer d"un fichier Excel.
> Je suis en train de faire un script en python pour extraire les données,
> et les mapper dans un fichier JSON, qui sera utilisé comme fixture pour
> mon application.
>
> Je colle les données dans des dictionnaires, en reprenant la structure
> des données attendues par le déserialiseur de Django. Les dictionnaires
> sont ensuite ajoutés dans un tableau.
>
>

> data = []
>
> mon_dict = {
>        "pk": 1,
>        "model": "mon_application.MonObjet",  # Le nom de mon modèle
>        "fields": {
>            "raison_sociale": "********",  # Field de l'object
> mon_application.MonObjet
>            "adresse_1": "*******",
>            "adresse_ville": "****",
>            "tel": "******",
>            "adresse_cp": "******"
>        }
>    }
> data += mon_dict
>
> ## J'import plein d'autres trucs ici...
> import json
> output = json.dumps(mes_data, indent=4, encoding="utf-8",)
>
>

> J'ai un soucis avec les champs de type date : je sais analyser les dates
> du fichier excel pour en faire des objets python (avec
> ma_date=datetime.date(year, month, day), mais par contre le serialiseur
> json ne sait pas analyser ces données, j'obtiens une exception :
>
>  TypeError: datetime.date(2009, 1, 14) is not JSON serializable
>
> Quelqu'un a-t-il une idée ?
>
> Cordialement,
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

Pied de page des forums