@yuretzgt

Как создать многоуровневый словарь с ключами из переменных?

пишу код по логике PHP =) Задача при переборе создать словарь в словаре, для дальнейшего перебора и вывода в шаблон

word_forms=Word_Form.objects.filter(word_id=current_word.id)
word_forms_extended={}
for current_form in word_forms:
   word_forms_extended[current_form.word_tense][current_form.word_gender][current_form.word_face]=current_form


Выдает ошибку:
Django Version:	3.0
Exception Type:	KeyError
Exception Value:	
'present'

present - значение первого ключа current_form.word_tense в процессе перебора
  • Вопрос задан
  • 427 просмотров
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Вот так будет работать:
word_forms=Word_Form.objects.filter(word_id=current_word.id)
word_forms_extended={}
for current_form in word_forms:
   word_forms_extended[current_form.word_tense] = current_form

А то что у вас нужно переписывать - по условию инициализировать каждый уровень, у вас только первый уровень вложенности инициализирован.
вы пытаетесь выполнить код
foo = None
foo['key'] = value

естественно так не будет работать - потому что None это не dict
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы