gpt4 book ai didi

python - 如何在Django中的get_context_data中获取具有相同参数的每个字段的计数的数组?

转载 作者:行者123 更新时间:2023-12-01 07:36:31 26 4
gpt4 key购买 nike

我使用 ListView 作为显示数据库中所有车辆的模板。每辆车可以有更多的车轮,我试图在同一个模板中显示每个传感器有多少个 View 。

这些模型通过名为“vehicle_id”的字段相互关联。知道如何在views.py 中做到这一点吗?

在一定程度上起作用的行如下

context['number_of_wheels'] = wheels.objects.filter(vehicle_id= F('vehicle_id')).count()

但是,这会计算数据库中的所有轮子,并为所有条目显示相同的值。知道如何单独计数、存储和显示它们吗?

最佳答案

无需将这些数字添加到上下文变量中。它可能会增加更多的复杂性,例如将该数字与传感器相匹配。

您可以.annotate(..)你的Sensor s,所以在 queryset ,你可以写:

from django.views.generic.list import ListView
from app.models import Sensor

class SensorListView(ListView):
queryset = Sensor.objects.annotate(
<b>nviews=Count('sensorview')</b>
)
template = 'some_template.html'

每个Sensor源于此QuerySet将有一个额外的属性 nview包含相关数量 SensorView 的 s s。

然后您可以在some_template.html中渲染它,例如:

{% for sensor in object_list %}
{{ sensor }}: {{ <b>sensor.nviews</b> }}
{% endfor %}

关于python - 如何在Django中的get_context_data中获取具有相同参数的每个字段的计数的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56972465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com