django 注释 max min AND first last

Posted

技术标签:

【中文标题】django 注释 max min AND first last【英文标题】:django annotation max min AND first last 【发布时间】:2021-06-28 03:44:23 【问题描述】:

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

类 BTCDayDataCandles(APIView): authentification_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】:

我觉得你可以试试Django documentation 返回查询集匹配的第一个对象,如果没有匹配的对象,则返回 None。如果 QuerySet 没有定义排序,则查询集自动按主键排序。

.

【讨论】:

以上是关于django 注释 max min AND first last的主要内容,如果未能解决你的问题,请参考以下文章

[AGC034D] Manhattan Max Matching

Django表单未提交

Django ORM相关

Django 1.11 模型迁移操作不适用

Django模板将字符串分成两部分

Django 令牌:使用令牌身份验证下载服务器文件