如何过滤日期
Posted
技术标签:
【中文标题】如何过滤日期【英文标题】:How can I do to filter on the dates 【发布时间】:2019-11-21 05:20:48 【问题描述】:我正在使用 django 进行编程,我有这个变量:
a = '2019-08-03'
我有一个包含两列的数据库,开始和结束是这样的:
start = 2019-08-01 00:00:00.000000
end = 2019-08-15 00:00:00.000000
显然 start 和 end 有很多值。我想得到 a 在开始和结束之间的行。我该怎么办?
我想过这样的事情:
c = myObject.objects.filter(mycondition)
但我想我必须正确地进行转换,然后在...之间进行类似的操作...您能帮帮我吗?
我可以修改这样的a = 2019-08-03 00:00:00.000000
【问题讨论】:
How to create a Django queryset filter comparing two date fields in the same model 的可能重复项。和documentation on query expressions。我建议您仔细阅读它,因为它几乎可以回答您在过滤方面可能遇到的所有问题 【参考方案1】:您可以过滤这些,以使条件start ≤ a ≤ end
成立:
Model.objects.filter(<b>start__lte=a, end__gte=a</b>)
如果您想增强拟合效果,在您的 start
和 end
字段中添加 db_index
可能会有所帮助。
【讨论】:
以上是关于如何过滤日期的主要内容,如果未能解决你的问题,请参考以下文章