【问题标题】:Django how to get 0 instead of nullDjango如何获取0而不是null
【发布时间】:2022-01-16 21:50:07
【问题描述】:

我正在过滤一个查询集以获取访问者和综合浏览量的数量,但是当没有数据时它返回无。 在没有数据的情况下过滤查询集时如何得到0而不是None?

yesterday_visitors = queryset.filter(date__gte=yesterday, page=None).aggregate(Sum('visitors'))

yesterday_page_views = queryset.filter(date__gte=yesterday, page=None).aggregate(Sum('page_views')) ```

【问题讨论】:

标签: django django-queryset


【解决方案1】:

我最终采用了另一种可能是最简单的方法,只需在末尾添加“或 0”,同时在“visitors”和“page_views”上使用 get __sum:

yesterday_visitors = queryset.filter(date__gte=yesterday, page=None).aggregate(Sum('visitors')).get('visitors__sum') or 0

yesterday_page_views = queryset.filter(date__gte=yesterday, page=None).aggregate(Sum('page_views')).get('page_views__sum') or 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多