Как отобразить необработанное значение моего набора запросов
У меня есть эта функция, чтобы показать мои наборы запросов:
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))