因此,我正在为一家当地的卡车租赁中小型企业实施一个webapp。基本上,它会记录日期,小时和分钟以计算卡车的Ritase(输出)。
这是models.py
class Muatan(models.Model):
recorded_date = models.DateField(auto_now_add=True)
date_added = models.DateField(auto_now_add=False)
shift = models.ForeignKey(Shift, on_delete=models.DO_NOTHING)
time_logged = models.TimeField(auto_now_add=False)
excavator = models.ForeignKey(Excavator, on_delete=models.DO_NOTHING)
operator_excavator = models.ForeignKey(ExcavatorOperator, on_delete=models.DO_NOTHING)
dumpTruck = models.ForeignKey(DumpTruck, on_delete=models.DO_NOTHING, null=True)
driver_dumptruck = models.ForeignKey(DumpTruckDriver, on_delete=models.DO_NOTHING)
location = models.ForeignKey(Lokasi, on_delete=models.DO_NOTHING)
material = models.ForeignKey(Material, on_delete=models.DO_NOTHING)
reported_problem = models.TextField(blank=True)
给出一个模型示例,假设管理器记录了来自admin.py的这些输入。为简化起见,我只添加了date_added和time_logged。
查询的预期输出将类似于
因为14小时内有3条日志。
我如何在Django中实现呢?另外,我是否将代码放在models.py或views.py中?总的django新手,非常感谢您的帮助:)
答案 0 :(得分:0)
我在找到文档后设法找到答案。它使用TruncHour
函数
muatan.objects.annotate(hour=TruncHour('time_logged', output_field=TimeField()),).values('hour').annotate(muatan=Count('id'))