0

我有一个表结构,例如:

entity
entity_like

其中entity_like包含用户对实体的喜欢。为了避免每次查看实体时都必须计算总赞数,我将总赞数缓存在entity表中。现在,每当插入或更新新的 entity_like 时,我都想更新缓存。

我的想法是使用_after_insert_after_update计算新缓存的总数并将其存储在实体对象中。

这很简单,_after_insert因为您会获得插入记录的 id。但是_after_update没有提供id。如何从内部获取更新记录的 id _after_update

4

1 回答 1

2

_after_update回调采用 DAL对象,该Set对象用于标识要更新的记录。因此,您可以.select()在 Set 上执行操作以获取更新的记录(包括他们的 id):

def after_el_update(s, fields):
    ids = [r.id for r in s.select()]
    ...
于 2013-11-05T18:27:01.010 回答