6
我从数据库中读取这些行:结合几个对象的值到一个单一的字典
blog_id='12', field_name='title', translation='title12 in en', lang='en'
blog_id='12', field_name='desc', translation='desc12 in en', lang='en'
blog_id='13', field_name='title', translation='title13 in en', lang='en'
blog_id='13', field_name='desc', translation='desc13 in en', lang='en'
....
,我想建立一个单一的字典每个blog_id:例如
[
{'blog': '12', 'title': 'title12 in en', 'desc': 'desc12 in en'},
{'blog': '13', 'title': 'title13 in en', 'desc': 'desc13 in en'},
....
]
我想是这样的:
res = []
dict_ = {}
for trans in translations: # 'translations' is QuerySet, already filtered by 'en'
if trans.blog_id in dict_.values():
dict_[trans.field_name] = trans.translation
else:
dict_['blog'] = trans.blog_id
dict_[trans.field_name] = trans.translation
res.append(dict_)
但这是错误洙,res
这里包含blog 13
3次,blog 12
甚至在最终名单状态并没有。我现在觉得很愚蠢,我错过了什么?
您添加相同的字典对象'res',你甚至没有创建新的字典对象 – thefourtheye
@thefourtheye我知道:(我需要创建新的字典动态莫名其妙... – doniyor
为什么不使用'blog_id'作为外键,并创建一个字典类型的字典? –