Как отобразить необработанное значение моего набора запросов

У меня есть эта функция, чтобы показать мои наборы запросов:

funcionarios_aniver = FuncionarioAux.objects.filter(FuncionarioDataNasc__gte=dia_um, FuncionarioDataNasc__lte=ultimo_dia)

Но он возвращает кверисет в массиве, например:

<QuerySet [<FuncionarioAux: Alberto Santos>, <FuncionarioAux: Josney Arman>]>

Я бы хотел, чтобы он возвращал необработанные значения, например:

Alberto Santos, Josney Arman

Я уже пробовал использовать .get() в конце функции, но получил следующую ошибку:

funcionarios.models.FuncionarioAux.MultipleObjectsReturned: get() returned more than one FuncionarioAux -- it returned 2!

что я могу сделать для решения проблемы?

Вы можете оценить его для списка объектов:

list(FuncionarioAux.objects.filter(FuncionarioDataNasc__gte=dia_um, FuncionarioDataNasc__lte=ultimo_dia))

Или вы можете пройти через него, чтобы получить доступ к отдельным объектам:

for o in FuncionarioAux.objects.filter(FuncionarioDataNasc__gte=dia_um, FuncionarioDataNasc__lte=ultimo_dia):
     print(o)

Вы можете получить плоский список значений в виде кверисета values:

foobar = FuncionarioAux.objects.filter(FuncionarioDataNasc__gte=dia_um, FuncionarioDataNasc__lte=ultimo_dia).values_list('name', flat=True) 
print(foobar)  # use list(foobar) to get list of names instead of values queryset

Вы можете использовать values_list так:

list(FuncionarioAux.objects.filter(FuncionarioDataNasc__gte=dia_um, FuncionarioDataNasc__lte=ultimo_dia).values_list('name', flat=True))
Вернуться на верх