我想找到昨天修改了特定字段的特定表的记录,并找到字段和旧值的当前值。
例如,我的company
表包含字段id
,name
和address
。我想跟踪name
字段并查找当前值和旧值(如果已修改)。我会在一天结束时运行它。
在web2py中,如果我们编辑记录,则在归档表中创建两行,第一行包含旧数据,第二行包含当前记录。我可以假设旧的行和当前记录行总是背靠背吗?或者他们之间可能有争议? web2py在写入归档表时是否使用了锁?请解释如何创建存档条目。
请帮忙!
答案 0 :(得分:0)
锁定或没有锁定,我认为您不应该只在名称字段上使用查询,然后返回一行并获取旧名称。如果名称不是唯一的(通常不是),这可能会给您带来麻烦。
更好的方法是将公司表的id存储在存档表中,并使用它来查询旧名称。
所以你的档案表现在应该是这样的,
| id | name | company_id |
然后在归档表上使用查询,您可以获取给定company_id的所有行:
rows = (db.archive.company_id == company_id).select()
而且,要获得旧名称,您必须执行类似的操作,
old_name = rows[len(rows) - 1].name
这将返回您最初寻找的姓氏。我希望这会有所帮助。