【问题标题】:Filter in django between from date and to date在 django 中过滤从日期到现在
【发布时间】:2019-08-22 13:00:23
【问题描述】:

更多的pdf文件保存在不同日期的表格中,如何在fromdate和todate之间过滤pdf文件。

如何在日期之间过滤并列出 pdf 文件。

views.py

def select_date(request):
    client = Client.objects.all()
    process = Client_Process.objects.all()
    pdf = Client_files.objects.all()
    today = date.today()
    yesterday = today - timedelta(days = 1)
    print(today)
    print(yesterday)
    if request.method == "POST":
        fromdate = request.POST.get('fromdate')
        todate = request.POST.get('todate')
        user = Client_files.objects.filter(Date__range=(fromdate,todate))
        print(user)
    return render(request,'select_date.html', {'pdf':pdf,'client':client,'process':process})


models.py

class Client_files(models.Model):
    Date = models.DateTimeField(default=datetime.now, blank=True)
    client = models.ForeignKey(Client, on_delete=models.CASCADE,null=True)
    client_process = models.ForeignKey(Client_Process, on_delete=models.CASCADE,null=True)
    File_Name = models.FileField()
    Pages = models.IntegerField(null=True)
    Count = models.IntegerField(null=True)
    Status = models.BooleanField(default = False)

    class Meta:
        db_table : 'client_files'

【问题讨论】:

    标签: django-models django-templates django-views


    【解决方案1】:

    您应该使用__date lookup [Django-doc],首先将日期时间转换为日期:

    def select_date(request):
        client = Client.objects.all()
        process = Client_Process.objects.all()
        pdf = Client_files.objects.all()
        today = date.today()
        yesterday = today - timedelta(days = 1)
        print(today)
        print(yesterday)
        if request.method == "POST":
            fromdate = request.POST.get('fromdate')
            todate = request.POST.get('todate')
            pdf = Client_files.objects.filter(Date__date__range=(fromdate, todate))
            print(pdf)
        return render(request,'select_date.html', {'pdf':pdf,'client':client,'process':process})

    通常,当您过滤项目时,您会将参数作为 GET 参数传递到 GET 请求中。 POST 请求通常会更改数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 2015-04-10
      • 2019-03-01
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 2018-12-02
      相关资源
      最近更新 更多