Вы должны иметь возможность использовать prev_products.append()
без ссылки на другой объект - list.append()
и dict["newKey"] = "newValue"
изменяют объект на месте. Вот так:
prev_products.append(
{
"sys": {
"type": "Link",
"linkType": "Entry",
"id": '1HYANUnDBW7tyMA6jMlknH'
}
}
)
Вы храните список или словарь? Поскольку вы не получаете сообщение об ошибке, я предполагаю, что prev_products возвращает список. Если вас интересует только новый продукт, вы можете найти его, заменив print(new_products)
на print(prev_products[-1])
. Если вас полностью интересует новый список, то просто добавьте новый элемент print(prev_products)
после добавления нового элемента.
Пары ключ-значение, подобные приведенным выше, сохраненные в списке, технически действительны, но я лично не хотел бысоставить список строк, как это явно. Предполагая, что entry.products
имеет ту же структуру, что и добавляемая вами:
prev_products = entry.products
print(prev_products)
product_dict=json.loads(prev_products) # this puts the list of strings in to key:value form
product_dict["newKey"] = dict() # this adds the new key to
# your dictionary at the root level so you can add more elements
product_dict["newKey"]["sys"] = dict()
product_dict["newKey"]["sys"]["type"]="Link"
product_dict["newKey"]["sys"]["linkType"]="Entry"
product_dict["newKey"]["sys"]["id"]='1HYANUnDBW7tyMA6jMlknH'
print(new_products)