首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django/postgresql中每小时更新一次的视图

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

Stack Overflow用户
提问于 2020-10-19 18:55:49
回答 1查看 36关注 0票数 0

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

代码语言:javascript
复制
item_active = DateTimeRangeField()

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

代码语言:javascript
复制
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视图(使用Django和Celery或postgreSQL每小时更新的on_table_update)是最聪明的。

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

EN

回答 1

Stack Overflow用户

发布于 2020-10-29 10:12:49

在Django中使用range字段并没有很好的文档记录,IMO。

如果您只是在查找当前时刻(timezone.now())与item_active字段的范围重叠的项,则可以这样做:

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64425914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档