¿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
:
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,
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
: