Python django日期过滤器不使用';t更新
我在django项目中创建了一个列表视图。 但当一天过去后,过滤器将停留在启动数据(启动或刷新web服务器)上。为什么它不每天更新 这是我的代码:(餐厅桌位预订) models.py: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
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()函数,可能用于我的模型类型字段。