我无法理解为什么我无法在JSON数据中获取某些数据。我在Django上使用JSONField,我想在获取它们之后更改一些特定的数据。这是我写的:
for apple in Apples.objects.filter(json__contains=[{'provenance': 'Spain'}]):
for ap in apple.json:
for key, value in ap.items():
print(value.color)
AttributeError:'dict'对象没有属性'color'
当我打印value
时,我有这样的事情:
{'color': 'red', 'size': '20x20', 'good_till': '01.08.2017'}
所以我不明白为什么错误说没有属性color
而有一个?我做错了什么?
答案 0 :(得分:1)
你需要:
print (value.get('color', ''))
因为颜色是关键,而不是属性
答案 1 :(得分:1)
嘿,所以使用点符号,例如" print(value.color)"是如何使用jinja在html方面做的,但是当在python文件中访问键的值时,它使用方括号。希望这有帮助
值['颜色']将返回红色。 所以改变它 值['颜色'] =蓝色会改变它 然后在html做{{value.color}}。 希望这有帮助