Pregunta

dict(16) 
    ['zone'] => str(3) "S/Z"
    ['name'] => str(20) "John user"
    ['country'] => str(3) "AGO"
    ['date1'] => str(10) "2012-04-23"
    ['date2'] => str(10) "1970-06-24"
    ....

 def save(self):
         insert_client = db.insert('clients', zone = dict.get('zone'), ...)   

La única forma en que sé es, con un inserto básico, y luego iterar el diccionario para realizar N actualizaciones para n elementos en dict.

for key, val in dictionary.iteritems():
    update_client = db.update('clients', key = val)   

¿Alguna idea de hacer que el inserto sea más agradable para trabajar? ¿O debo usar el inserto básico y luego completar el perfil del cliente con actualizaciones?

PD: Las claves de Python Dict son el nombre de la columna de la base de datos,

¿Fue útil?

Solución

¿Qué tal usar ** (argumento de palabras clave desempaquetado)?

insert_client = db.insert('clients', **dict)

Por cierto, no uses dict como un nombre variable. SOMBRA FUNCIÓN BRISADO dict:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top