Django/postgresql中每小时更新一次的视图



我希望用Django中的活动项填充页面。

item_active = DateTimeRangeField()

任何比较当前时间的更聪明的方法:;views.py":

def time_now():
return timezone.now()
def index(request):
item_list = item.objects.raw('''SELECT col1, col2 FROM item_table
WHERE upper(item_active) >= %s AND lower(item_active) <= %s''', [time_now])

时间比较的有效实现是有帮助的,但我的直觉告诉我,只包含活动对象的SQL-view每小时更新(使用Django和Celery或postgreSQL每小时更新和on_table_update(是最聪明的。

那么,对于首选的方式,我如何通过Django/Celery或Datebase端实现物化视图呢?(每小时和表更新(

在Django中处理范围字段并没有很好的文档,IMO.

如果你只是在寻找当前时刻(timezone.now(((与item_active字段的范围重叠的项目,这应该可以做到:

def index(request):
item_list = Item.objects.filter(item_active__contains=timezone.now())

编辑:确保您使用标准的Django命名约定,让其他人更容易帮助您。类应该始终是大写的。

https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

最新更新