动态筛选数据存储中的应用程序引擎数据

2024-04-25 07:59:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我的应用程序引擎数据模型定义为:

class Event(db.Model):
    title = db.LinkProperty();
    refresh_interval = db.IntegerProperty(); 

class EventSchedule(db.Model):
    event = db.ReferenceProperty(Event)     # referencing the event
    refresh_date = db.DateTimeProperty();   # date & time of last successful refresh 

我想根据以下条件获取所有EventSchedule项:

event_schedule.refresh_date + event.refresh_interval >= now

在SQL land中,它看起来像: 添加日期(事件)_schedule.refresh\u日期, 事件.refreshInterval)>;=现在()

这种连接操作对数据存储是否可行?你知道吗


Tags: 引擎event应用程序dbdatemodel定义事件
1条回答
网友
1楼 · 发布于 2024-04-25 07:59:52

GAE数据存储不可能执行此连接操作,而且在普通SQL数据库上效率也很低(因为它需要扫描整个event\u schedule表)。你知道吗

相反,您应该将next_refreshDateTimeProperty存储在EventSchedule实体中,在创建实体时初始化为refresh_date + refresh_interval,然后只需测试next_refresh >= now。你知道吗

相关问题 更多 >