gpt4 book ai didi

django 过滤日期时间 = 无

转载 作者:行者123 更新时间:2023-12-04 13:50:25 26 4
gpt4 key购买 nike

我有一个包含 fieldmeasurement 元数据的表,其中字段“startDate”的类型为 datetime。当没有可用信息时,该值可以为空。我想在这个字段上运行一些统计数据,并获得最小值和最大值(即所有记录中可用的最旧测量值)。 Max 没有问题,但对于 Min,聚合返回 None(空字段中的值)。

所以我的想法是在运行聚合之前从查询集中过滤这些记录。我找不到如何做到这一点。

我试过了

oldestdate = Measurement.object.filter(startDate__isNull=True).aggregate(Min('startDate'))['startDate__min']

知道出了什么问题,或者如何做到这一点?

编辑:
更多的测试表明:
Measurement.objects.filter(startDate_isnull=True) -> only records with startDate = None
Measurement.objects.filter(startDate_isnull=False) -> all records, also the ones with startDate = None.
Measurement.objects.exclude(startDate__isnull=False) -> only records with startDate = None
Measurement.objects.exclude(startDate__isnull=True) -> shows all records (also startDate == None)

最佳答案

oldestdate = Measurement.objects.filter(
startDate__isnull=True).aggregate(min_date=Min('startDate'))

# or to make it small:

oldestdate = Measurement.objects.filter(startDate__isnull=True
).aggregate(min_date=Min('startDate'), max_date=Max('startDate'))

关于django 过滤日期时间 = 无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15247101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com