Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django日期过滤器不使用';t更新_Python_Django_Datetime_Filter - Fatal编程技术网

Python django日期过滤器不使用';t更新

Python django日期过滤器不使用';t更新,python,django,datetime,filter,Python,Django,Datetime,Filter,我在django项目中创建了一个列表视图。 但当一天过去后,过滤器将停留在启动数据(启动或刷新web服务器)上。为什么它不每天更新 这是我的代码:(餐厅桌位预订) models.py: class Table_book(models.Model): name = models.CharField(max_length=50) date = models.DateField() time = models.CharField(max_length=50, choices=T

我在django项目中创建了一个列表视图。 但当一天过去后,过滤器将停留在启动数据(启动或刷新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')
url.py

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

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

为了使查询在运行时计算
now()
,您应该覆盖
get\u queryset
,而不是设置静态类属性
queryset

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

为了使该查询在运行时计算
now()
,您应该重写
get\u queryset
,而不是设置静态类属性
queryset

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

查询是在模块加载时构造的,因为类定义是模块级代码
timezone.now()
然后进行计算。queryset在每次调用视图时都会求值,但查询只生成一次。我可以解决在main类中创建函数(请求)的问题吗?这不是必需的。Django的默认视图提供了必要的运行时挂钩。我添加了一个答案。查询是在模块加载时构造的,因为类定义是模块级代码
timezone.now()
然后进行计算。queryset在每次调用视图时都会求值,但查询只生成一次。我可以解决在main类中创建函数(请求)的问题吗?这不是必需的。Django的默认视图提供了必要的运行时挂钩。我添加了一个答案。同样的问题…我看到来自yesterdayUpdate的订单:它在日期筛选器中使用datetime.time.today()函数,可能用于我的模型类型字段。同样的问题…我看到来自yesterdayUpdate的订单:它在日期筛选器中使用datetime.time.today()函数,可能用于我的模型类型字段。