Django 注释最大最小值和第一个最后一个

时间:2021-04-01 06:35:43

标签: django annotations aggregation

从每分钟存储 BTC 价格的数据表中,我试图获取一个按小时聚合值的查询集对象(需要最小值、最大值、第一个和最后一个)。它适用于最大值和最小值

类 BTCDayDataCandles(APIView): authentication_classes = [] permission_classes = []

def get(self, request, format=None):
    now = datetime.now()
    BTCData = BTCminute.objects\
        .annotate(test = Trunc('dateTimeEntry', 'hour'))\
        .order_by('-test')\
        .values('test')\
        .annotate(Max('price'), Min('price'))

    data = {
       'BTCData': BTCData,
    }
    print(BTCData)
    return Response(data)

如何在查询集对象中添加每个小时的第一个和最后一个价格值?

1 个答案:

答案 0 :(得分:0)

我认为您可以尝试使用 Django documentation 返回查询集匹配的第一个对象,如果没有匹配的对象,则返回 None。如果查询集没有定义排序,那么查询集会自动按主键排序。

.

相关问题