【问题标题】:AttributeError: 'QuerySet' object has no attribute 'objects', breaking the query attributesAttributeError: 'QuerySet' 对象没有属性 'objects',破坏了查询属性
【发布时间】:2022-01-07 15:49:55
【问题描述】:

在我的views.py中发出“双重查询”请求后出现错误。我怎样才能轻松解决这个问题?

 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", line 18, in HomeView
 Open = stocks.objects.values("Open")
AttributeError: 'QuerySet' object has no attribute 'objects'

【问题讨论】:

    标签: django-models django-views


    【解决方案1】:

    您的stocks 已经是QuerySet,因此您可以通过以下方式获取值:

    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")

    这将对数据库进行 四次 查询,您可以在数据库的同一查询中获取 OpenHighCloseLow 的值:

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

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 1970-01-01
      • 2017-07-19
      • 2016-11-20
      • 2019-07-10
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多