ja ściągam te wiersze z DB:połączyć wartości kilku obiektów w jednym słowniku
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'
....
i chcę zbudować jeden słownik dla każdego blog_id: np
[
{'blog': '12', 'title': 'title12 in en', 'desc': 'desc12 in en'},
{'blog': '13', 'title': 'title13 in en', 'desc': 'desc13 in en'},
....
]
próbuję w ten sposób:
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_)
ale to soo źle, res
zawiera tutaj blog 13
3 razy i blog 12
isnot nawet w ostatnim liście. Czuję się teraz tak głupi, czego mi brakuje?
dodawania tego samego słownika obiektu do 'res', nie tworzysz nawet nowych obiektów dyktowania – thefourtheye
@thefourtheye Wiem :(Potrzebuję stworzyć nowy dykt dynamicznie jakoś po drodze ... – doniyor
dlaczego nie używać' blog_id' jako klucza zewnętrznego i stworzyć dyktando dyktuje? –