python - 在过滤器内的模型字段中按间隔增加日期的月份

标签 python django django-views

我得到了这样的对象。 date_from、date_to 是输入变量

result = Records.objects.filter(recorddate__range=(date_from, date_to))

还有另一个整型变量off_set。我怎样才能在这样的过滤器中使用它 因此 recorddate 字段的月份会增加 offset_set 数字。喜欢

result = Records.objects.filter((recorddate+off_set)__range=(date_from, date_to))

最佳答案

正如评论中提到的,您可以从范围中减去偏移量来过滤相关记录。

创建偏移量可能会有点棘手,因为月份的天数不同(Python 的 timedelta 不支持月份)。

为此,您可以考虑 dateutil.relativedelta(),尽管这需要单独的 pip install python-dateutil。您还需要确保 date_fromdate_to 已转换为 datetime 对象(如果尚未转换)。例如:

from dateutil.relativedelta import relativedelta

months = relativedelta(months=off_set)
result = Records.objects.filter(recorddate__range=(date_from - months, date_to - months))

关于python - 在过滤器内的模型字段中按间隔增加日期的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53372806/

相关文章:

python - 使用新格式字符串记录变量数据

python - 如何说服 python 流对象从 isatty() 返回 true?

python - 在数据子集上运行但在原始数据上完美运行时出现 h2o 错误

python - Python 中的位置排名和关系处理

python - Wagtail + Django 问题 - 页面重定向到 wagtail,尽管 url 不是 wagtail 页面

python - Django:存储多个动态排序的模型序列

Django 更新/删除 View 。处理用户权限

python - Django 自定义错误页面给出错误

python - 在 pandas 中查询时,如何跳过 None 的过滤器?

django - 单元格颜色 Django-Tables2