我在Django模型中使用postgres DateTimeRangeField。它是现有的数据库,所有现有行都具有较低的范围和较高的范围。现在,我需要查询范围较低的日期是特定日期的所有行,例如,类似于rangefield.lower.date==1。
请不要告诉我使用单独的字段作为开始日期和结束日期。这个系统正在生产中,我需要对此进行查询以进行分析。
class Model(models.Model):
rangefield = DateTimeRangeField(db_index=True)
....
我需要查询类似于Model.objects.filter(rangefield__lower__date=1)
的内容
发布于 2017-10-09 19:11:53
您可以使用startswith
查找解释这里
Model.objects.filter(rangefield__startswith__day=1)
如果上述操作不起作用,请尝试:
Model.objects.filter(rangefield__startswith__date__day=1)
https://stackoverflow.com/questions/46653023
复制相似问题