我正在嘗試在特定時間顯示我的帖子,這是我的 models.py
class Booking(models.Model):
check_in = models.DateTimeField(default=timezone.now)
check_out = models.DateTimeField(blank=True,null=True)
我想在退房后 12 小時內顯示物件,例如,如果我們有一個物件,它的退房時間是 14/10/2021 10AM,然后顯示該帖子到晚上 10 點!
我試過了,但沒有用 Booking.objects.filter(check_out__hour=12)
請問可以嗎?先感謝您
uj5u.com熱心網友回復:
您可以過濾:
from datetime import timedelta
from django.db.models.functions import Now
Booking.objects.filter(
check_out__gte=Now()-timedelta(hours=12)
)
您可以進一步過濾,以便check_out通過__range查找 [Django-doc]過濾掉比現在晚的物件:
from datetime import timedelta
from django.db.models.functions import Now
Booking.objects.filter(
check_out__range=(Now()-timedelta(hours=12), Now())
)
這Now()是資料庫的時間戳。
我們還可以使用網路服務器機器的時間戳:
from datetime import timedelta
from django.utils.timezone import now
Booking.objects.filter(
check_out__range=(now()-timedelta(hours=12), now())
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/321372.html
上一篇:DateTime.UtcNow.ToString("yyyy/MM/ddHH:mm:ss")為不同的用戶提供不同的格式
下一篇:將字串轉換或格式化為日期
