这就是我想要的(警告:Python菜鸟,这可能是一种不正确的表示方式,但我希望你得到我想要的)
forms = {
{ 'id' : '1',
'form' : form_something,
},
{ 'id' : '4',
'form' : form_something2,
}
}
现在我的问题是如何在我的 django View 中创建这个字典,到目前为止,它是这样的->
links = Links.objects.all()
forms = {}
for link in links:
form = LinkForm(instance = link )
forms.update({ 'id' : link.id, 'form' : form})
# which is obviously the wrong way to do it
最佳答案
这将创建一个字典列表:
links = Links.objects.all()
forms = []
for link in links:
form = LinkForm(instance = link)
forms.append({'id': link.id, 'form': form})
如果你想创建一个字典的字典,你必须有键:
links = Links.objects.all()
forms = {}
for link in links:
form = LinkForm(instance = link)
# you need something to use as a key
forms[key] = {'id': link.id, 'form': form}
请注意,我更改了代码中的空格位置以匹配标准 Python 方式,但这并不重要。
嵌套字典的形式为:
forms = {
'key1': { 'id' : '1',
'form' : form_something,
},
'key2': { 'id' : '4',
'form' : form_something2
}
}
我添加了键并删除了 form_something2
之后的逗号。
关于python - 如何创建这个嵌套的Python字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6799318/