Comment créer sqlalchemy en json
J'ai un sqlalchemy résultat
labels = session.query(
LabelsData,
LabelsData.id,
LabelsData.name,
LabelsData.color
).filter(LabelsData.deleted==False).all()
Et je veux convertir ce résultat en JSON, mais comment je peux faire?
umm,
oui, mais sqlalchemy résultat peut pas encodé en json 🙁
Vous pouvez utiliser l'extrait de ma réponse, stackoverflow.com/questions/7102754/...
json
?oui, mais sqlalchemy résultat peut pas encodé en json 🙁
Vous pouvez utiliser l'extrait de ma réponse, stackoverflow.com/questions/7102754/...
OriginalL'auteur Nolik | 2013-02-17
Vous devez vous connecter pour publier un commentaire.
Il ressemble à votre
LabelsData
objet est un modèle SQLAlchemy. Vous avez besoin de sérialiser avant de les déverser en JSON. Voici un court exemple que des extraits de toutes les colonnes de votreLabelsData
objet et convertit les résultats de votre requête JSON:OriginalL'auteur mtth
De ici et apparaissant à exiger simplejson. Espère que ça aide...
Mise à JOUR: sur un deuxième coup d'oeil, c'est un dictionnaire qui vous peut de vidage par tout le json modules en python.
OriginalL'auteur hd1
Ressemble à sqlalchemy a déjà un
http://docs.sqlalchemy.org/en/latest/core/serializer.html
OriginalL'auteur Nande
Ce blog a fourni la solution, je suis allé avec:
http://blogs.gnome.org/danni/2013/03/07/generating-json-from-sqlalchemy-objects/
La stratégie utilisée était .todict méthode directement à une Base de mixin qui parcourt le parent de la classe de sqlalchemy colonnes.
Sinon, Nandes'approche (https://stackoverflow.com/a/19602809/837575) utiliser sqlalchemy.ext.sérialiseur fonctionne bien si vous essayez de sérialiser des données sur le réseau, mais n'avez pas nécessairement besoin de json.
OriginalL'auteur mekarpeles
- Je ajouter à cette réponse que c'est un mélange de @mekarpeles et @hd1. Je veux dire que je n'ai pas modifié le sqlalchemy hiérarchie des objets, tout en déléguant à un simple JSONEncoder:
Si votre utilisation de modèles non sérialisable classes (datetime par exemple), vous devez les ajouter à l'Encodeur :
Puis-je l'utiliser avec un jinja2 contexte de filtre :
OriginalL'auteur Bruno Thomas
https://github.com/TaylorHere/PythonSerializer
le lien ci-dessus peut vous donner un coup de main , C'est un petit script qui peut tout simplement sérialiser résultat de la requête sql à la liste ou dict ,juste comme ça:
OriginalL'auteur Taylor