簡體   English   中英

Django在截止日期前過濾日期

[英]Django filter date before deadline

我想在 Django 截止日期前 5 天過濾日期,我已經有一個查詢但沒有工作。 我該如何解決這個問題?

Django 視圖

def bdeadline(request):
        def dispatch(self, *args, **kwargs):
            return super().dispatch(*args, **kwargs)
        dl = books.objects.filter(deadline = datetime.now().date() +timedelta(days=5))
        return  render(request, 'deadline.html',{'title':'Car - Deadline', 'dl':'dl'})

您的代碼中有兩個潛在的問題。 一種是使用日期數據查詢DateTimeField 另一個是發送字符串dl作為上下文。

dl = books.objects.filter(deadline = datetime.now().date() +timedelta(days=5))
#                         ^^^^^^^^^ 
return  render(request, 'deadline.html',{'title':'Car - Deadline', 'dl':'dl'})
#                                                                       ^^^^

所以,你可以這樣修復:

def bdeadline(request):
    dl = books.objects.filter(deadline__date = datetime.now().date() + timedelta(days=5))  # consider using PascalCase when naming classes(based on pep 8)
    return  render(request, 'deadline.html',{'title':'Car - Deadline', 'dl':dl})

我使用__date只獲取數據庫的日期數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM