[英]How can I retrieve a single value from a queryset?
我正在尝试检索返回的查询集的is_winning_bid
值:
<QuerySet [{'id': 33, 'user_id_id': 3, 'listing_id_id': 33, 'bid_amount': Decimal('13.00'), 'bid_time': datetime.datetime(2021, 4, 9, 16, 15, 9, 120168, tzinfo=<UTC>), 'is_winning_bid': False}]>
视图.py
@login_required(login_url="/login")
def listing(request, listing_id):
listing = Listing.objects.get(pk=listing_id)
bids = Bid.objects.filter(listing_id=listing_id)
user_id = request.user
# time_posted = Comment.time_posted
comments = Comment.objects.filter(listing_id=listing_id, user_id=user_id).order_by("-time_posted")
current_user = request.user
return render(request, "auctions/listing.html", {
"listing": listing,
"watchlist": Watchlist.objects.filter(user_id=request.user).count(),
"current_user": current_user,
"comments": comments,
"bids": bids.values()
})
模板提取:
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<div class="block my-3">
<div class="row my-1">
<div class="col-sm-2">
{{ bids }}
</div>
<div class="col-sm-4">
<strong>Number of bids:</strong> {{ listing.number_of_bids }}<br>
<strong>Starting Bid:</strong> {{ listing.starting_bid }}<br>
{% if listing.current_bid == 0 %}
<strong>Current Bid:</strong> <span class="current_bid">No Bid Yet!</span><br>
{% else %}
<strong>Current Bid:</strong> <span class="current_bid">{{ listing.current_bid }}</span><br>
{% endif %}
</div>
<div class="col-sm-5 text-center">
<form action="{% url 'auctions:bid' listing.id %}" method="post">
{% csrf_token %}
<input type="number" name="bid_amount" id="bid_input" required>
<button class="btn btn-primary" type="submit">Bid</button>
<br>
</form>
<a href="{% url 'auctions:add_to_watchlist' listing.id %}" style="background-color: black"
class="badge badge-secondary">
Add to Watchlist
</a>
<div class="col-sm-2"></div>
</div>
</div>
</div>
</body>
</html>
据我了解,您只想从数据库中检索is_winning_bid
值。 为此,请查看以下代码。
鉴于:
bid_winnings = Bid.objects.filter(listing_id=listing_id).values('is_winning_bid')
在模板中:
{% for w in bid_winnings %}
{{ w.is_winning_bid }}
{% endfor %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.