[英]Not able to iterate through QuerySet results with Django
我是 Django 的新手,我遇到了 QuerySets 问题。 我正在试验并尝试使用 Bid.objects.filter 方法进入一个字段。 如果我使用任何过滤器(即使我输入了像 itemID = "Monkey517" 这样的完全匹配项),它也会不断出现。 但是,如果我进行“全部”搜索,它会出现大量我不知道如何遍历的查询集。
我正在使用我在网上找到的示例,但我收到错误消息“'QuerySet' object 没有属性'itemID'”或'QuerySet' object 没有属性'highestBidder'
我不确定如何获取更大查询集中的每个查询集。 这让我有点困惑。 谁能帮我解决这个问题?
谢谢!
下面是我的相关代码:
意见.py:
def closeAuction(request):
username = request.POST.get("username")
itemID = request.POST.get("itemID")
query = Bid.objects.all()
for queries in query.iterator():
print(query.itemID)
return render(request, "auctions/index.html")
模型.py:
class Bid(models.Model):
itemID = models.CharField(max_length=64)
newBid = models.IntegerField()
highestBidder = models.CharField(max_length=64)
邮政.html:
{% if user.is_authenticated %}
<form name="closeAuction"
action="/closeAuction"
method="post" >
{% csrf_token %}
<input autofocus class="form-control" type="hidden" name="username" value={{user.username}}>
<input autofocus class="form-control" type="hidden" name="itemID" value={{p.title}}{{p.price}}>
<input class="btn btn-primary" type="submit" value="Close Auction">
{% endif %}
</form>
哦,我明白了:您正在打印 objects query
而不是queries
。 所以你可能会这样做:
for queries in query:
print(queries.itemID)
代替
for queries in query:
print(query.itemID)
你试过这段代码吗(没有.iterator()
def closeAuction(request):
username = request.POST.get("username")
itemID = request.POST.get("itemID")
query = Bid.objects.all()
for queries in query:
print(query.itemID)
return render(request, "auctions/index.html")
您是否尝试过在没有 for 循环的情况下打印查询? 我是说
query = Bid.objects.all() 打印(query.filter(itemID=itemID))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.