尝试更新条目列表。 我能够更新entry.name字段。但是,不完全确定如何处理列表部分。
当前,我可以获得当前的项目列表,但是当我添加一个新项目并设置entry.list = new_list时,什么也没发生。
prev_products = entry.products
print(prev_products)
new_products = prev_products.append(
{
"sys": {
"type": "Link",
"linkType": "Entry",
"id": '1HYANUnDBW7tyMA6jMlknH'
}
}
)
print(new_products)
new_products原来是None。
答案 0 :(得分:0)
您应该能够使用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)