我得到了这样的对象。 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_from
和 date_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/