Indagamos por distintos sitios y así traerte la solución a tu problema, si tienes dificultades puedes dejar la pregunta y contestamos con mucho gusto.
Solución:
use json.dumps (json_value) para convertir su objeto json (objeto python) en un json string que puedes insertar en un campo de texto en mysql
http://docs.python.org/library/json.html
Para ampliar las otras respuestas:
Básicamente necesitas asegurarte de dos cosas:
-
Que tiene espacio para la cantidad total de datos que desea insertar en el campo que está tratando de colocar. Diferentes tipos de campos de bases de datos pueden adaptarse a diferentes cantidades de datos. Consulte: Tipos de datos de cadena de MySQL. Probablemente desee los tipos “TEXT” o “BLOB”.
-
Que está pasando de forma segura los datos a la base de datos. Algunas formas de pasar datos pueden hacer que la base de datos “mire” los datos y se confunda si los datos se parecen a SQL. También es un riesgo de seguridad. Ver: Inyección SQL
La solución para el n. ° 1 es verificar que la base de datos esté diseñada con el tipo de campo correcto.
La solución para el n. ° 2 es usar consultas parametrizadas (vinculadas). Por ejemplo, en lugar de:
# Simple, but naive, method.
# Notice that you are passing in 1 large argument to db.execute()
db.execute("INSERT INTO json_col VALUES (" + json_value + ")")
Mejor, usa:
# Correct method. Uses parameter/bind variables.
# Notice that you are passing in 2 arguments to db.execute()
db.execute("INSERT INTO json_col VALUES %s", json_value)
Espero que esto ayude. Si es así, házmelo saber. 🙂
Si aún tiene problemas, tendremos que examinar su sintaxis más de cerca.
Debería poder insertar intyo una columna de texto o blob fácilmente
db.execute("INSERT INTO json_col VALUES %s", json_value)
Si crees que te ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartes con más desarrolladores de esta forma contrubuyes a extender nuestro contenido.