Как вывести только значение в <QuerySet [{'...': '...'}]>.

Я хочу вывести только второе значение в Queryset.

print(DataSheet.objects.filter(id=i).values('Gênero'))

вывод:

<QuerySet [{'Gênero': 'Dichotomius'}]>
<QuerySet [{'Gênero': 'Dichotomius'}]>
<QuerySet [{'Gênero': 'Dichotomius'}]>
<QuerySet [{'Gênero': 'Dichotomius'}]>

ожидаемый результат:

Dichotomius
Dichotomius
Dichotomius
Dichotomius

Вы должны использовать values_list в этом случае.

print(DataSheet.objects.filter(id=i).values_list('Gênero', flat=True))

Это похоже на values(), за исключением того, что вместо словарей возвращаются кортежи при итерации.

Если flat=True, это означает, что возвращаемые результаты будут одиночными значениями, а не кортежами.

DataSheet.objects.filter(id=i).values_list('Gênero', flat=True)

или вы также можете преобразовать его в список

list(DataSheet.objects.filter(id=i).values_list('Gênero', flat=True))
Вернуться на верх