2017-09-11 2 views
0

Ich will Wörterbuch Daten an das Modell (Benutzer) setzen .I wieKeyError: 'user_id'

schrieb
for row_number, row_data in dict_data.items(): 
      user1 = User.objects.filter(corporation_id=row_data['corporation_id']) 
      if user1:  
       user1.update(user_id=dict_data['user_id']) 

dict_data ist Wörterbuch Typ wie

{'00010': OrderedDict([('corporation_id', '00001aB3D4'), ('user_id', '11111'), ('name', 'Tom'), ('age', '20')])} 

Ich will dict_data Daten setzen user_id-user_id Spalte von User Modell. Definitiv hat dict_data'user_id', aber ich kann wirklich nicht verstehen, warum dieser Fehler passiert. Wie kann ich das beheben?

+1

Meinst du nicht row_data ['user_id'] '? –

Antwort

0

Statt:

dict_data["user_id"] 

Sie müssen das entpackte Element verwenden:

row_data["user_id"] 

Oder, falls Sie wirklich dict_data Sie das entsprechende Wörterbuch Wert zum ersten Zugriff verwenden möchten: