¿Hay una buena manera de almacenar un diccionario de Python en el almacén de datos? Quiero hacer algo como lo siguiente:¿Cómo coloco un diccionario en el almacén de datos?
from google.appengine.ext import db
class Recipe(db.Model):
name = db.StringProperty()
style = db.StringProperty()
yeast = db.StringProperty()
hops = db.ListofDictionariesProperty()
Por supuesto, esa última línea en realidad no funciona. Necesito saltos para ser una lista de pares clave-valor, donde la clave siempre es una cadena y el valor puede ser una cadena, int o float, pero no puedo ver nada que me permita hacer eso en el Property classes.
JSON es generalmente más seguro que eval. –
Probablemente no necesite consultar ese campo, pero me gusta que tenga la opción. Además, corrígeme si me equivoco, pero ¿no usaría repr y usaría JSON el mismo resultado en este caso? –
Incluso con "evaluación segura", 'repr' podría ser peligroso. El mismo Guido duda que puedas escribir esa función. Ver http://code.google.com/p/googleappengine/issues/detail?id=671. JSON es más simple que python, y tengo más confianza en que un analizador JSON no sería vulnerable en la forma en que 'eval' puede ser. – lemnar