Попался !!
вы находитесь в Indonesia
(GMT + 7). Ваша БД (с использованием системного часового пояса) и django (с использованием часового пояса UTC) имеют разницу в 7 часов.
попробуйте выполнить запрос в формате datetime с учетом часового пояса.
from django.utils import timezone
one_h_ago = timezone.now()-timezone.timedelta(hours=1)
queryset = TbDevice.object.filter(updatetime__gte=one_h_ago)
В почтальоне вы получаете "updatetime": "2019-05-28T22:33:00+7:00"
T в ответе говорит нам, что вы включили поддержку часового пояса. У вас есть settings.USE_TZ
и settings.TIME_ZONE
.
Надеюсь, это поможет. Дайте мне знать, если у вас есть какие-либо вопросы.
Рад помочь:)
Это для вашего знания :
Из комментариев вижу вашу модель как:
class TbDevice(models.Model):
nickname = models.CharField(max_length=32, blank=True, null=True)
email = models.CharField(max_length=64, blank=True, null=True)
status = models.CharField(max_length=64, blank=True, null=True)
createtime = models.DateTimeField(blank=True, null=True)
updatetime = models.DateTimeField(blank=True, null=True)
class Meta:
managed = False
db_table = 'device'
для createtime
и updatetime
вы должны использовать
createtime = models.DateTimeField(auto_now_add=True)
updatetime = models.DateTimeField(auto_now=True)
проверьте auto_now и auto_now_add для получения дополнительной информации.