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.

AttributeError: El objeto ‘QuerySet’ no tiene el atributo ‘objects’, lo que rompe los atributos de la consulta.

Tengo un error después de realizar una solicitud de “doble consulta” en mi archivo views.py, ¿cómo podría solucionar fácilmente este problema?

if request.method == 'POST':
    index= request.POST.get('dropdown_index')
    stocks= Indexes.objects.filter(Symbol=index)

Open = stocks.objects.values("Open")
High = stocks.objects.values("High")
Close = stocks.objects.values("Close")
Low = stocks.objects.values("Low")
mysite\main\views.py", línea 18, en HomeView
Open = stocks.objects.values("Open")
AttributeError: el objeto 'QuerySet' no tiene un atributo 'objects'
Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que stocks es un objeto QuerySet, no una instancia de modelo, por lo que no puedes llamar .objects en él. Para solucionar este error, simplemente puedes quitar .objects y llamar directamente a .values() en stocks:

    if request.method == 'POST':
        index = request.POST.get('dropdown_index')
        stocks = Indexes.objects.filter(Symbol=index)
    
    Open = stocks.values("Open")
    High = stocks.values("High")
    Close = stocks.values("Close")
    Low = stocks.values("Low")
    

    Al hacer esto, solo ejecutarás la consulta a la base de datos una vez y obtendrás todos los valores necesarios del QuerySet. Esto mejorará la eficiencia de tu código y evitará el error causado por realizar una doble consulta.

Comments are closed.