从Django DateTimeRangeField的datetime.now()。更低的日期查询

时间:2017-10-09 18:42:17

标签: python django postgresql

我在Django模型中使用postgres DateTimeRangeField。它是现有数据库,所有现有行都具有较低范围和较高范围。现在我需要查询较低范围的日期是特定日期的所有行,例如rangefield.lower.date == 1。

请不要告诉我为开始日期和结束日期使用单独的字段。这个系统正在生产中,我需要查询它以过滤分析。

class Model(models.Model):
    rangefield = DateTimeRangeField(db_index=True)
    ....

我需要查询类似Model.objects.filter(rangefield__lower__date=1)

的内容

1 个答案:

答案 0 :(得分:1)

您可以使用startswith查询解释here

Model.objects.filter(rangefield__startswith__day=1)

如果以上不起作用,请尝试:

Model.objects.filter(rangefield__startswith__date__day=1)