python - 在 Django 中查找集合的 MAX、MIN 和 AVG
问题描述
我有一个名为Meter的对象,它有一个名为powerConsumptionReport_set的集合。
这是 models.py :
class Meter(models.Model):
region = models.PositiveSmallIntegerField(null=1)
IPAddress = models.GenericIPAddressField(default=0,null=False,blank=False,unique=True)
PortNumber = models.IntegerField(default=1024)
SerialNumber = models.IntegerField(default=00000000,null=False,blank=False,unique=True)
class PowerConsumptionReport(models.Model):
meter = models.ForeignKey(Meter, blank=True, null=True, on_delete=models.CASCADE)
power = models.FloatField()
我需要从powerConsumptionReport_set中找到功率字段的最大值并将其显示在我的模板中。
这是我用来显示每个 Meter 的 DetailView :
class MeterDetailView(DetailView):
model = Meter
template_name = 'meter/specificMeter.html'
模板在这里:
<h1>
*** here i want to show min value of the set **** -
{{ meter.powerconsumptionreport_set.first.power }}
</h1>
如何从与每个仪表相关的 powerConsumptionReport_set访问功率字段的 Max、Min 和 AVG 值。
干杯。
解决方案
也许在 views.py 中获取这些值比在模板中进行更好。你可以做到这一点:
PowerConsumptionReport.objects.all().aggregate(Avg('power '))
PowerConsumptionReport.objects.all().aggregate(Min('power '))
PowerConsumptionReport.objects.all().aggregate(Max('power '))
推荐阅读
- java - 无法拆箱空值
- javascript - 在 Discord.js 中添加角色
- xaml - Xamarin 表单中的矩形不支持 HeightRequest
- javascript - 如何在颤振中导入平台特定文件?
- sql - SQL查询更改列名
- java - Uri.Builder 用逗号附加一些东西作为查询参数
- c# - Windows 如何定位 Chrome
- java - https://spring.io/guides/gs/sumption-rest/ 使用 RESTful Web 服务
- c# - 消息=')' 附近的语法不正确。Source=Core .Net SqlClient 数据提供者
- odbc - Power BI ODBC - 如何选择架构