首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据筛选器绑定数据

数据筛选器绑定数据
EN

Stack Overflow用户
提问于 2022-06-22 09:19:21
回答 1查看 29关注 0票数 0

我在django有一个模型,它包含一个财政年度的开始和结束日期以及需求量的值。

代码语言:javascript
复制
    start_date = models.DateField(null=True)
    end_date = models.DateField(null=True)
    new_demand = models.PositiveIntegerField(default=0)

我希望在可能与数据的日期范围不一致的给定日期范围上过滤这些数据,从可能位于筛选日期范围内某个位置的每个数据点获取一定比例的需求。我假设我需要计算出数据点是否落在过滤器的边缘,并将需求除以过滤器内的天数?但我很难写这篇文章。如有任何帮助,将不胜感激!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-22 10:02:25

如果不需要在数据库中进行计算,则可以筛选重叠日期范围(here很好地显示何时范围重叠),并在python中迭代查询集时执行计算:

代码语言:javascript
复制
for obj in MyModel.objects.filter(start_date__lte=end, end_date__gte=start):
    overlap = min(end, obj.end_date) - max(start, start_date)
    proportion = (obj.end_date - obj.start_date) / overlap
    print(obj, "demand in overlapping range:", obj.new_demand * proportion)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72712834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档