Django итерация на values()
У меня есть что-то вроде этого:
vmware = Vmware.objects.values('pk', 'hostname')
результат :
<QuerySet [{'pk': 1, 'hostname': 'ste1vvcsa'}, {'pk': 3, 'hostname': 'ste1vvcsatest'}]>
Я хочу выполнить итерацию и получить значения pk и hostname
У меня возникает ошибка, когда я делаю что-то вроде этого:
for i in vwmare:
print(i.hostname)
Ошибка : AttributeError: 'dict' object has no attribute 'hostname'
Это словарь, следовательно, вы получаете доступ к значению ключа путем подписывания:
for i in vwmare:
print(i['hostname'])
Вы не можете использовать оператор dot (.) для ключей словаря. попробуйте так:
for i in vwmare:
print(i["hostname"])