Как преобразовать список в json на основе одного и того же значения ключа в django

Как преобразовать список в json на основе одного и того же значения ключа в django

Мой список django (мой вопрос)

{'include_product_id[x_734652]': ['1'], 
'product_name[x_734652]': ['Test_1'],
'product_qty[x_734652]': ['1'], 
'product_price[x_734652]': ['10'],
'total_amount[x_734652]': ['10'], 

'include_product_id[x_332559]': ['2'], 
'product_name[x_332559]': ['Test_2'], 
'product_qty[x_332559]': ['10'], 
'product_price[x_332559]': ['10'], 
'total_amount[x_332559]': ['100']}

Мне нужен такой результат

 [{'include_product_id': 1,
   'product_name': Test_1, 
   'product_qty': 1,
   'product_price': 1, 
   'total_amount': 10,
  },
  {'include_product_id': 2,
   'product_name': Test_2, 
   'product_qty': 10,
   'product_price': 10, 
   'total_amount': 100,
  }]
   

Итерация по элементам и чтение части x_<digits>, чтобы знать, для какого диктанта она должна быть использована:

x = {}

for key, value in data.items():
    x_id_index = key.rindex("[")
    x_id = key[x_id_index+1:-1]
    x_dict = x.setdefault(x_id, {})
    x_dict[key[:x_id_index]] = value[0]

x_values = list(x.values())

print(x_values)

Вывод (красиво напечатано)

[
    {
        "include_product_id": "1",
        "product_name": "Test_1",
        "product_qty": "1",
        "product_price": "10",
        "total_amount": "10"
    },
    {
        "include_product_id": "2",
        "product_name": "Test_2",
        "product_qty": "10",
        "product_price": "10",
        "total_amount": "100"
    }
]
Вернуться на верх