Django查询时间戳似乎有所不同

时间:2019-11-06 14:14:50

标签: django postgresql datetime filter utc

我想从存储一些值的postgres数据库中查询一些数据。但是,当我在Django中使用从views.py调用的python脚本执行此操作时,数据将移动一小时。

示例:

从脚本文件查询:

sensorData = SensorDataAvgFirstTwoMonths.objects.filter(timestamp__gte='2019-11-06 07:50:00',
                                                          timestamp__lte='2019-11-06 08:00:00',
                                                          machine_id=4, 
                                                          type_id=25).order_by('timestamp');
  print(sensorData)
  for d in sensorData:
      print(d.timestamp)
      print(d.value)

这将导致以下打印: 1

现在,如果我直接从终端查询数据,那么我必须转移一小时才能得到相同的结果(除了需求略有不同的事实)。 2

数据库中的时间以UTC时间表示。我希望我不需要在Django查询中将时间花一个小时来获得相同的结果。但是我想Django中的查询考虑了一些时区,但是在两种情况下将日期和时间设置为完全相同时,如何获得相同的结果?

1 个答案:

答案 0 :(得分:0)

所以过了一会儿,我意识到在global_settings.py中,参数TIME_ZONE设置为Stockholm / Europe,当我将其更改为UTC时,相同的查询给出了相同的结果。