Вопрос

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'), ...)   

Единственный способ, который я знаю, - это базовая вставка, а затем итерация словаря, чтобы сделать n обновлений для n элементов в DICT.

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

Есть идея сделать вставку более хорошей для работы? Или я должен использовать базовую вставку, а затем заполнить профиль клиента с помощью обновлений?

PS: Ключи DICT Python - это имя столбца базы данных,

Это было полезно?

Решение

Как насчет использования ** (Аргумент ключевого слова распаковка)?

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

Кстати, не используйте dict как имя переменной. Это тени встроенной функции dict:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top