简体   繁体   English

如何从查询集中检索单个值?

[英]How can I retrieve a single value from a queryset?

I am trying to retrieve the is_winning_bid value of a query set that returns:我正在尝试检索返回的查询集的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}]> 

Views.py视图.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()
    })

template extract:模板提取:

<!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>

As I understand you want to retrieve only is_winning_bid values from database.据我了解,您只想从数据库中检索is_winning_bid值。 To do so, look at the below codes.为此,请查看以下代码。

In view:鉴于:

bid_winnings = Bid.objects.filter(listing_id=listing_id).values('is_winning_bid')

In template:在模板中:

{% for w in bid_winnings %}
    {{ w.is_winning_bid }}
{% endfor %}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM