I am trying to append an object in a loop to one of two sub keys created in a json object.
for agency in q:
dashboard[agency.id]= []
dashboard[agency.id].append({"name": agency.agency.name})
dashboard[agency.id].append({"stats": []})
dashboard[agency.id].append({"users": []})
for row in stats:
if row['is_agency']:
dashboard[row['agency_id']['stats']].append(dict(row))
else:
dashboard[row['agency_id']['users']].append(dict(row))
But it is throwing an error of:
dashboard[row['agency_id']]['users'].append(dict(row))
TypeError: list indices must be integers, not str
If I remove ['users'] or ['stats'] key it appends to the agency.id key just fine. But when I try to add it as a second level key, it throws the above error.
As the json object will always have the 3 sub keys (name[0], stats[1], users[2]) I have also then tried using:
for row in stats:
if row['is_agency']:
dashboard[row['agency_id']][1].append(dict(row))
else:
dashboard[row['agency_id']][2].append(dict(row))
That results in an error of the following:
dashboard[row['agency_id']][2].append(dict(row))
AttributeError: 'dict' object has no attribute 'append'
rowa dictionary?dashboard[row['agency_id']][1]['stats'].append(row)anddashboard[row['agency_id']][2]['users'].append(row)