здесь моя ошибка, когда я собираюсь сделать это в моем кодеКак добавить словарь (список объектов) на объект словаря в Python
TypeError: unhashable type: 'list'
Вот мой питон список объект словаря. в моем коде tea_list_data
[
{'bpl_division_id': 1, 'over_kgs': 2, 'worker_id': 1, 'names': 6.0, 'date': '2013-05-08', 'pss': 30.0,
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'tea'},
{'bpl_division_id': 1, 'over_kgs': 2, 'worker_id': 2, 'names': 6.0, 'date': '2013-05-08', 'pss': 30.0,
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'tea'},
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'rubber'}
]
И мне нужно, чтобы изменить его к этому типу словаря object.because мне нужно создать записи в OpenERP с некоторыми условиями.
ниже показывают мою требуемой выходной
{'bpl_division_id': 1, 'over_kgs': 2, 'worker_id': 1, 'names': 6.0, 'date': '2013-05-08', 'pss': 30.0,
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'tea'},
{'bpl_division_id': 1, 'over_kgs': 2, 'worker_id': 2, 'names': 6.0, 'date': '2013-05-08', 'pss': 30.0,
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'tea'},
{'bpl_division_id': 1, 'over_kgs': 2, 'worker_id': 3, 'names': 6.0, 'date': '2013-05-08', 'pss': 30.0,
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'rubber'},
{'bpl_division_id': 1, 'over_kgs': 2, 'worker_id': 4, 'names': 6.0, 'date': '2013-05-08', 'pss': 30.0,
'bpl_estate_id': 1, 'scrap': 3, 'bpl_company_id': 1, 'output': 15, 'type': 'rubber'}
Пожалуйста, помогите мне разобраться этот вопрос.
здесь показывает мой питон код, который я использовал для создания выше 1 результат
def temp_posting(self, cr, uid, ids, context=None):
tea_v = {}
tea_list_data = []
if context is None:
context = {}
bpl_division_id = context['bpl_division_id']
work_update_ids = self.pool.get('bpl.work.update').search(cr, uid, [('bpl_division_id', '=', bpl_division_id)])
work_update_obj = self.pool.get('bpl.work.update').browse(cr, uid, work_update_ids)[0]
if work_update_obj:
work_update_obj.write({'state': 'negotiation'})
for record in work_update_obj.selected_tea_workers_update_line_ids:
tea_list_data.append({'bpl_company_id': record.work_id.bpl_company_id.id, 'bpl_estate_id': record.work_id.bpl_estate_id.id, 'bpl_division_id': record.work_id.bpl_division_id.id, 'worker_id': record.worker_id.id, 'date': record.work_id.offered_date, 'type':'tea', 'names': 6.00, 'output':record.tea_total_kgs, 'over_kgs':2, 'scrap':3, 'pss':30.00})
for record in work_update_obj.selected_rubber_workers_update_line_ids:
tea_list_data.append({'bpl_company_id': record.work_id.bpl_company_id.id, 'bpl_estate_id': record.work_id.bpl_estate_id.id, 'bpl_division_id': record.work_id.bpl_division_id.id, 'worker_id': record.worker_id.id, 'date': record.work_id.offered_date, 'type':'rubber', 'names': 6.00, 'output':record.rubber_total_kgs, 'over_kgs':2, 'scrap':3, 'pss':30.00})
for record in work_update_obj.selected_sundry_workers_update_line_ids:
tea_list_data.append({'bpl_company_id': record.work_id.bpl_company_id.id, 'bpl_estate_id': record.work_id.bpl_estate_id.id, 'bpl_division_id': record.work_id.bpl_division_id.id, 'worker_id': record.worker_id.id, 'date': record.work_id.offered_date, 'type':'sundry', 'names':record.sundry_hrs_worked, })
for record in work_update_obj.selected_other_workers_update_line_ids:
tea_list_data.append({'bpl_company_id': record.work_id.bpl_company_id.id, 'bpl_estate_id': record.work_id.bpl_estate_id.id, 'bpl_division_id': record.work_id.bpl_division_id.id, 'worker_id': record.worker_id.id, 'date': record.work_id.offered_date, })
tea_v = {tea_list_data}
daily_transaction_master = self.pool.get('bpl.daily.transaction.master')
daily_transaction_master.create(cr, uid, tea_v, context=context)
return True
EDITED * @Arya * пожалуйста, дайте внимание здесь
for record in work_update_obj.selected_tea_workers_update_line_ids:
tea_list_data.append({'bpl_company_id': record.work_id.bpl_company_id.id, 'bpl_estate_id': record.work_id.bpl_estate_id.id, 'bpl_division_id': record.work_id.bpl_division_id.id, 'worker_id': record.worker_id.id, 'date': record.work_id.offered_date, 'type':'tea', 'names': 6.00, 'output':record.tea_total_kgs, 'over_kgs':2, 'scrap':3, 'pss':30.00})
tea_v = {tea_list_data}
Ошибка указывает, что каким-то образом вы назначаете список как ключ словаря, который не разрешен в python. –
Что вам нужно для вывода, это значения словаря, разделенные запятой, которые не являются допустимой структурой данных в python. –
Уважаемый Ankit ,, , пожалуйста, советую мне исправить его –