pythoni c способ справиться с DataError: Неверный ввод типа: 'dict'. Сначала преобразуйте в байты, строку, int или float. - PullRequest
0 голосов
/ 26 февраля 2020

redis veersion 3.4.1 должен использовать ha sh, не может использовать str или другой тип данных:

{'_anno': {
    'ctp': 'list',
    'dt': [],
    'ml': 0,
    'na': 'apple',
    'pos': -1,
    'rel': '',
    'st_var': '',
    'tp': 'object'},
'_att': {'_cuser': 'apple card',
         '_last_editor': 'apple card',
         '_protext': 'authorize',
         '_status': 'normal',
         '_theme_id': 'apple card',
         '_view': '12'},
    }

мой код

pool = redis.ConnectionPool(host=host, port=port)
conn = redis.StrictRedis(connection_pool=pool)

conn.hmset("aaaaaa",data)

ошибка повышения

DataError: Неверный ввод типа: 'dict'. Сначала преобразуйте в байты, строку, целое число или число с плавающей запятой.

, теперь код

pool = redis.ConnectionPool(host=host, port=port)
conn = redis.StrictRedis(connection_pool=pool)
new_data={}
for key,value in data.items():
    new_data[key]=json.dumps(value)
conn.hmset("aaaaaa",new_data)

Есть ли еще способ pythoni c?

...