django日期过滤器不会更新

时间:2018-02-01 15:11:30

标签: python django datetime filter

我在django项目中制作了一个listview。 但是当一天消失时,过滤器会继续保持启动数据(启动或刷新Web服务器)。为什么不每天更新?

这是我的代码:(餐厅预订)

models.py:

class Table_book(models.Model):
    name = models.CharField(max_length=50)
    date = models.DateField()
    time = models.CharField(max_length=50, choices=TIMES)
    people = models.PositiveIntegerField(choices=TABLES)
    telephone = models.CharField(max_length=50)

views.py

class List_book(ListView):
    model = Table_book
    template_name = 'list_today.html'
    queryset = Table_book.objects.all().filter(date=timezone.now()).order_by('date', 'time')

urls.py

url(r'^$', login_required(List_book.as_view(), login_url='/login/'), name='home'),

在template.html中,列表对象填充表格。

1 个答案:

答案 0 :(得分:1)

为了使该查询在运行时评估now(),您应该覆盖get_queryset而不是设置静态类属性queryset

class List_book(ListView):
    # ...
    def get_queryset(self):
        return Table_book.objects.all().filter(date=timezone.now()).order_by('date', 'time')