es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Django: Obteniendo campos mediante values_list en queryset

Tengo problemas para obtener valores por valores list(Según lo que he leído, se supone que esto se hace) de mi base de datos en Django:

stocks_query = Indexes.objects.filter(Symbol=index).values("Date","Open", "High", "Close", "Low","Volume")
print(stocks_query.values_list("Date", flat=True))

Cada vez obtengo el objeto QuerySet

<queryset [datetime.date(2021, 12, 28), datetime.date(2021, 12, 27), datetime.date(2021, 12, 26), datetime.date(2021, 12, 24)...

editar:
gracias willem, ahora lo entiendo mejor: si quieres ver el valor, debes iterar sobre él. (en mi caso, uso pandas, por lo que no fue necesario)
(para una compatibilidad apropiada de los campos, utilicé pd.datetimeindex y pd.to_numeric)) [datetime.date(2021,=”” 12,=”” 28),=”” datetime.date(2021,=”” 12,=”” 27),=”” datetime.date(2021,=”” 12,=”” 26),=”” datetime.date(2021,=”” 12,=”” 24)…=”” ="" editar:="" gracias="" willem,="" ahora="" lo="" entiendo="" mejor:="" si="" quieres="" ver="" el="" valor,="" debes="" iterar="" sobre="" él.="" (en="" mi="" caso,="" uso="" pandas,="" por="" lo="" que="" no="" fue="" necesario)="" (para="" una="" compatibilidad="" apropiada="" de="" los="" campos,="" utilicé="" pd.datetimeindex="" y=""></queryset [datetime.date(2021, 12, 28), datetime.date(2021, 12, 27), datetime.date(2021, 12, 26), datetime.date(2021, 12, 24)...
editar:
gracias willem, ahora lo entiendo mejor: si quieres ver el valor, debes iterar sobre él. (en mi caso, uso pandas, por lo que no fue necesario)
(para una compatibilidad apropiada de los campos, utilicé pd.datetimeindex y pd.to_numeric))>

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Django, el problema en cuestión es que el método values_list() está devolviendo un objeto QuerySet en lugar de los valores esperados. Esto se debe a que se está utilizando el método values() para recuperar campos específicos de la consulta a la base de datos.

    Para acceder a los valores, debes iterar sobre el objeto QuerySet. Alternativamente, puedes utilizar un módulo Python incorporado como pandas para trabajar con datos multidimensionales en Python.

    Dado que estás utilizando pandas, puedes utilizar las funciones pd.DatetimeIndex y pd.to_numeric para obtener una compatibilidad adecuada con los campos.

Comments are closed.